PHP的简单了解
PHP
标识符/关键字/数据类型
关键字:
输出方法echo和print
echo的速度快于print ,echo没有返回值,而print有返回值,且返回值总为1。
<?php
echo 'hello word<br>';
print 'hello word';
?>
输出结果为:hello world
hello world die() >> 输出一条消息,并退出当前脚本。//相当于 return的结束当前函数的功能
函数
其实PHP最经典,也是最核心的地方就是函数,PHP提供了超过一千种內建函数,参考手册点击前往;
作用域:
1.局部变量;
函数中的参数也是局部变量;
<?php
$x=5; // 全局变量
function myTest(){
$y=10; // 局部变量
echo "<p>测试函数内变量:<p>”;
echo "变量 x 为: $x”;
echo "<br>”;
echo "变量 y 为: $y”;
}
myTest();
echo "<p>测试函数外变量:<p>”;
echo "变量 x 为: $x”;
echo "<br>”;
echo "变量 y 为: $y”;
?>
2.全局变量:
<?php
$x=5;
$y=10;
function myTest(){
global $x,$y; //利用这个关键字声明的变量是全局变量;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
?> 3.Static 作用域(JS中的闭包);
局部变量在运行结束之后会被删除,再次重新声明时会被重新赋值,但是static类变量不会,他会一直存在于php的变量中;
<?php
function fnName(){
static $x = 11;
echo $x;
$x++;
}
fnName();
fnName();
?>
数组
1.什么是数组?
用来储存多个数据的数据类型; 2.创建数组:
$arr = array(1,2,3,4,5); 3.使用数组:
$arr[0] //
$arr[1] // 手动数组赋值:
$arr[0] = 11; 数组相关方法:
获取数组长度:count()函数;
count($arr);//返回数组长度; 这样我们就可以写for循环了,数组中的内容我们就可以遍历出来了; for($x = 0 ; $x < count($arr) ; $x++){
echo $arr[$x];
} php关联数组:(用=>链接起来) $testArray = array('name' => 'liyang','age' => 18 );
echo 'liyang age is '.$testArray['age']; 数组排序:
sort() :升序排列; rsort() :降序排列; 遍历关联数组:foreach(); foreach()第一个参数为数组>> foreach($arr); foreach()第二个参数为关键字as代表在数组中找到的值赋给后面的变量 >> foreach($arr as); foreach()第三个和第四个参数为key和value ;也就是关联数组中的键和值 用 => 链接 >> froeach($arr as $key => value); $arr = array('firstName' => 'yang', 'lastName' => 'huaizhi’);
foreach ($arr as $key => $value) {
echo $key.'<br>';
echo $value.'<br>';
} foreach() 会执行两次,因为数组中有两对数据,如果数组中的数据有n个那么foreach就执行n次; 键值一一对应,根据颜色来查看;
对象
1.类与对象;
<?php
class show{
var $hello = "hello”;
function showMe(){
echo $this->hello . " world";
}
}
$me = new show();
$me -> showMe();
?> PHP中 用class 命名一个对象, 这个对象里面可以有属性和方法, 属性的命名方式为 var $变量名 = 变量值; 在类中使用这个变量的时候使用 $this 指向当前类。 $this -> 变量名(直接写变量名); 实例化类的时候,用new关键字; 调用内部方法的时候 使用 ->
返回JSON格式数据
json_encode()方法进行json格式的转码;
接收一个关联数组,返回值就是json格式的数据
作用:就是将关联数组转换成json格式的数据
数据库
类型 | 存储范围 | 字节 |
TINYINT |
有符号值:-128到127(-2^7到2^7-1)
无符号值:0到255(0到2^8-1)
|
1 |
SMALLINT |
有符号值:-32768到32767(-2^15到2^15-1)
无符号值:0到 65 535(0到2^16-1)
|
2 |
MEDIUMINT |
有符号值:-8388608到8388607(-2^23到2^23-1)
无符号值:0到 16 777 215(0到2^24-1)
|
3 |
INT |
有符号值:-2147483648到2147483647(-2^31到2^31-1)
无符号值:0到 4 294 967 295(0到2^32-1)
|
4 |
BIGINT |
有符号值:-922337203685477808到922337203685477807(-2^63到2^63-1)
无符号值:0到 18 446 744 073 709 551 615(0到2^64-1)
|
8 |
类型 | 存储范围 | 字节 |
FLOAT(4,1) |
有符号:(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)
无符号:0到(1.175 494 351 E-38,3.402 823 466 E+38)
|
4 |
DOUBLE |
有符号: (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)
无符号: 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)
|
8 |
类型 |
大小
(字节)
|
范围 | 格式 | 用途 |
DATE | 3 | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 |
TIME | 3 | '-838:59:59'/'838:59:59' | HH:MM:SS | 时间值或持续时间 |
YEAR | 1 | 1901/2155 | YYYY | 年份值 |
DATETIME | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
TIMESTAMP | 4 |
1970-01-01 00:00:00/2038
结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07
|
YYYYMMDD HHMMSS | 混合日期和时间值,时间戳 |
类型 | 大小 | 用途 |
CHAR | 0-255字节 | 定长字符串 |
VARCHAR | 0-65535 字节 | 变长字符串 |
TINYBLOB | 0-255字节 | 不超过 255 个字符的二进制字符串 |
TINYTEXT | 0-255字节 | 短文本字符串 |
BLOB | 0-65 535字节 | 二进制形式的长文本数据 |
TEXT | 0-65 535字节 | 长文本数据 |
MEDIUMBLOB | 0-16 777 215字节 | 二进制形式的中等长度文本数据 |
MEDIUMTEXT | 0-16 777 215字节 | 中等长度文本数据 |
LONGBLOB | 0-4 294 967 295字节 | 二进制形式的极大文本数据 |
LONGTEXT | 0-4 294 967 295字节 | 极大文本数据 |
在PHP中使用MySQL
连接数据库管理系统函数:
$link = new mysqli(host,username,password,dbname);
参数释义:
host,mysql的主机名或ip地址
usernane,mysql用户名
pasword,mysql密码
dbname,要操作的数据库名
返回值:
当连接成功时返回连接标识符
当连接失败时返回false
连接失败:
echo $link->connect_error; 设置字符集:
$link->set_charset("utf8"); 查询语句(执行一条sql语句):
$link->query(sql命令); 插入数据:
$query1 = "insert tb_name (字段名) values(对应值)";
$link->query($query1); 更新数据:
$query2 = "update tb_name set 字段名=值 where 条件";
$link->query($query2); 删除记录:
$query3 = "delete from tb_name where 条件"
$link->query($query3); 查询记录:
$query4 = "select * from tb_name";
$res = $link->query($query4); 索引数组+关联数组查看数据:$res->fetch_array()
索引数组查看数据:$res->fetch_row();
关联数组查看数据:$res->fetch_assoc(); √
对象方式查看数据:$res->fetch_object();
以上四种方式每次执行返回一条记录的数据,可配合循环多次执行,查询所有数据 断开数据库的函数:
$link->close();
断开连接
程序执行完毕自动断开,可省略不用
PHP的简单了解的更多相关文章
- 【造轮子】打造一个简单的万能Excel读写工具
大家工作或者平时是不是经常遇到要读写一些简单格式的Excel? shit!~很蛋疼,因为之前吹牛,就搞了个这东西,还算是挺实用,和大家分享下. 厌烦了每次搞简单类型的Excel读写?不怕~来,喜欢流式 ...
- Fabio 安装和简单使用
Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
- 哪种缓存效果高?开源一个简单的缓存组件j2cache
背景 现在的web系统已经越来越多的应用缓存技术,而且缓存技术确实是能实足的增强系统性能的.我在项目中也开始接触一些缓存的需求. 开始简单的就用jvm(java托管内存)来做缓存,这样对于单个应用服务 ...
- 在Openfire上弄一个简单的推送系统
推送系统 说是推送系统有点大,其实就是一个消息广播功能吧.作用其实也就是由服务端接收到消息然后推送到订阅的客户端. 思路 对于推送最关键的是服务端向客户端发送数据,客户端向服务端订阅自己想要的消息.这 ...
- 我的MYSQL学习心得(一) 简单语法
我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...
- 使用 Nodejs 搭建简单的Web服务器
使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块.文件系统.url解析模块. ...
- ASP.NET Aries 入门开发教程2:配置出一个简单的列表页面
前言: 朋友们都期待我稳定地工作,但创业公司若要躺下,也非意念可控. 若人生注定了风雨飘摇,那就雨中前行了. 最机开始看聊新的工作机会,欢迎推荐,创业公司也可! 同时,趁着自由时间,抓紧把这系列教程给 ...
- 简单入门canvas - 通过刮奖效果来学习
一 .前言 一直在做PC端的前端开发,从互联网到行业软件.最近发现移动端已经成为前端必备技能了,真是不能停止学习.HTML5新增的一些东西,canvas是用的比较多也比较复杂的一个,简单的入门了一下, ...
- 简单粗暴地理解js原型链--js面向对象编程
原型链理解起来有点绕了,网上资料也是很多,每次晚上睡不着的时候总喜欢在网上找点原型链和闭包的文章看,效果极好. 不要纠结于那一堆术语了,那除了让你脑筋拧成麻花,真的不能帮你什么.简单粗暴点看原型链吧, ...
随机推荐
- Visual Studio 重命名项目名
1. 打开VS Studio,重命名项目 2. 重命名对应的项目文件夹,并重命名项目文件夹下的这两个文件名: 3. 用记事本打开解决方案,修改对应的项目名字和路径 未完 ...... 点击访问原文(进 ...
- Linux(二)各种实用命令
继续Linux命令学习,没有什么捷径,每个命令都去敲几遍就熟悉了,第二篇学习的是一些比较实用类的命令,主要是从开发的角度进行学习,并不深入,话不多说,开始! 一.系统管理类 1.1 stat --st ...
- framework7 Autocomplete (自动完成) 具体使用
官网地址:https://framework7.io/docs/autocomplete.html#autocomplete-parameters 效果图: <meta charset=&quo ...
- C#读取Excel文件,准换为list
经常会用到,废话不多说直接贴代码 //读取Excel文件 public static DataTable ReadExcelToTable(string path)//excel存放的路径{try{ ...
- (转)二步实现 远程连接 阿里云SqlServer 2012 数据库服务器
前言:在使用 阿里云 上的一些产品时,遇到不少坑. 安装IIS 时,遇到 因买的配置过低,虚拟内存不足,而导致 IIS 总是安装失败: 现在 在上面安装了个 Sql Sever 2012,远程老是 不 ...
- ReactiveObjC basic
基础-> https://www.jianshu.com/p/cd4031fbf8ff 在RAC中,万物皆信号. RAC 指的就是 RactiveCocoa ,是 Github 的一个开源框架, ...
- linux memcached 的安装
linux memcached安装yum -y install libevent libevent-deve yum list memcached yum -y install memcached m ...
- ASP.NET Core中返回 json 数据首字母大小写问题
ASP.NET Core中返回 json 数据首字母大小写问题 在asp.net core中使用ajax请求动态绑定数据时遇到该问题 后台返回数据字段首字母为定义的大写,返回的数据没有问题 但是在前台 ...
- Android-----CheckBox复选使用(实现简单选餐)
直接上代码: xml布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmln ...
- swift - 开心一刻
let array = ["one", "two", "three", "four", "five" ...