1.变量
以$开头,后面可以接英文字母
区分大小写: $x $X是有区别的;
命名:不能以数字和特殊字符开头 $1x是错误的;
判断(PHP提供的函数):isset($a);//判断一个变量是否存在
unset($a);//销毁变量
引号:双引号解析变量,单引号不解析变量 echo “$a”和echo '$a',前者输出$a的值,后者输出$a;
2.数据类型
标量:整型-------整数
浮点型-----小数
布尔类型-----true false真假
字符串------string引号包含起来的 ‘abcv’
混合类型:数组------array $arr=[1,2,3,4]
对象------object
特殊类型:空-----null
资源------resource
3.数据类型转换
gettype($str): 获取数据类型
intval($str): 转换成整型
floatval($str): 转换成浮点型
strval($str): 转换成字符串型
boolval($str): 转换成布尔型
var_dump("1233")//输出string ‘123’
is_array() 判断数组
is_string() 判断字符串
is_bool() 判断布尔
is_float() 判断浮点型
is_object() 判断对象
is_int() 判断整型
is_numeric() 判断数值
is_resource() 判断资源
is_null() 判断空
is_scalar() 判断标量
4.系统常量
此变量是不可变的,值只能是标量,一般为大写字母
define(name,value);
另define('ABC',true) //输出1 defined(ABC)//判断是否定义了ABC
__FILE__ :文件路径,精确到文件
__LINE__ : 行号
PHP_VERSION : PHP版本号
__DIR__ :文件夹路径
__FUNCTION__ :函数名
PHP_OS :系统信息
M_PI :圆周率
5.函数
function 定义函数的关键字
【命名规范】
与变量名几乎一样
函数名不区分大小写
函数名使用英文,遵循规范
数字可以加在中间或者是后面
下划线不属于特殊符号
不用特殊符号
命名的时候要有意义
遵循驼峰或者下划线
不能使用系统的函数名还有系统的关键字
【基本格式】
函数都要以关键字function开始
函数名后面紧跟小括号
小括号下面跟着大括号,大括号里面是函数体
函数调用需要函数名加上小括号
return后面的代码不会运行
【作用域】
就是一个变量的作用的范围,或者叫做生命周期
内部变量:就是函数体内声明的变量,内部变量的作用域 只在函数体内生效,程序执行完事以后自动销毁(垃圾回收机制)
外部变量:就是函数体外声明的变量,函数体内使用
函数体外的变量名字可以与函数体内的变量的名字一样,但是一般不这样做
超全局变量:外部变量和内部变量是同一个变量 $_GET $_SESSION
静态变量:只会初始化一次 在运行的时候它会记录上一次的值 static变量不会销毁
注:当无限参数入参时,echo func_num_args();可以输出入参的个数 func_get_args()可以输出入参的数组
PHP7.0新特性
function test(...$a){}可以入参无限(...)//一点点传参数
test(...$a) //一点点接收参数
6.文件包含
include :引用文件不存在时虽然报错但是下面的代码依然执行 同一文件不能重复引用
require :引用文件不存在时报错且下面的代码无法执行
include_once require_once
7.数组
【索引数组】下标就是数字开始的 $arr=['a','b','c'];
【关联数组】 $arr=['a'=>'b','c'=>'d']
$arr[index]
添加元素:$arr[imdex]=''
删除元素:unset()
修改元素:$arr[imdex]=''
【二维数组】
$arr=[
'php'=>[
'a',
'b',
'c'
],
'java',
'javascript'
];
查元素:$arr['php'][1]
【三维数组&&多维数组】
查元素:$arr['php']['bom'][0]
count($arr) 元素个数
遍历arr foreach($arr as $key=>$value){ }
foreach($arr as $value){ }
list() 一对一
【超全局数组】$_GET $_POST get安全些
$_REQUEST $_SERVER $_SESSION $_COOKIE
8.错误处理
notice warning 后续代码会继续执行
Fatal error后续代码不会执行
9.时间
时间戳:1970年1月1号00时00分00秒距今的毫秒数 time() date(格式,时间) 格式有‘Y-m-d H:i:s’
PRC 中国时区
【设置时区】date_default_timezone_set('PRC') 或者Pphp.ini=>date.date.timezone='UTC' PRC