php代码格式(前两种被弃用):
单行注释: // 或 #
块注释: /* */
PHP语法结束符
英文状态下的分号 ;
变量的使用:
PHP中的所有变量都必须使用“$”符号
1.定义:在系统中增加对应的变量名字(内存)
$var1; //定义变量
2.赋值:可以将数据赋值给变量名(可以在定义的同时完成)
$var2 = 1; //定义同时赋值
3.可以通过变量名访问存储的数据
echo $var2; //通过var2变量名找到存储的内容1,然后输出
4.可以将变量从内存中修改或删除
$var2 = 2; //修改变量
unset($var2); //删除变量:使用unset(变量名)
变量命名规则:
1.在PHP中变量名字必须以“$”开始;
2.名字由字母、数字和下划线“_”构成,但是不能以数字开头
3.在PHP中本身还允许中文变量(不建议)
预定义变量
预定义变量:提前定义的变量,系统定义的变量,存储许多需要用到的数据(预定义变量都是数组)
$_GET: 获取所有表单以get方式提交的数据
$_POST: POST提交的数据都会保存在此
$_REQUEST: GET和POST提交的都会保存
$GLOBALS: PHP中所有的全局变量。
$_SERVER: 服务器信息
$_SESSION: session会话数据
$_COOKIE: cookie会话数据
$_ENV: 环境信息
$_FlLES: 用户上传的文件信息
可变变量
变量传值.
将一个变量赋值给另外一个变量:变量传值
变量传值一共有两种方式:值传递,引用传递
值传递:将变量保存的值赋值一份,然后将新的值给另外一个变量保存(两个变量没有关系〉。
引用传递:将变量保存的值所在的内存地址,传递给另外一个变量:两个变量指向同一块内存空间(两个变量是同一个值)
常量
常量定义形式
在PHP中常量有两种定义方式(5.3之后才有两种)
1、使用定义常量的函数: define(‘常量名’,常量值);
2、5.3之后才有的: const 常量名 = 值;
常量名字的命名规则
1、常量不需要使用“$”符号,一旦使用系统就会认为是变量;
2、常量的名字组成由字母、数字和下划线组成,不能以数字开头;
3、常量的名字通常是以大写字母为主(与变量以示区别);
4、常量命名的规则比变量要松散,可以使用一些特殊字符,该方式只能使用define定义;
注意细节:
1、Define和const定义的常量是有区别:在于访问权限区别。
2、定义常量通常不区分大小写,但是可以区分,可以参照 define 函数的第三个参数
常量使用形式
常量的使用与变量一样:不可改变值(在定义的时候必须赋值)
有的时候还需要使用另外一种形式来访问(针对的是特殊名字的常量),需要用到另外一个访问常量的函数: constant(“常量名”)
系统常量
系统常量:系统荐助用户定义的常量,用户可以直接使用。
常用的几个系统常量
PHP_VERSION: PHP版本号
PHP_INT_SIZE:整形大小。
PHP_INT_MAX:整形能表示的最大值
系统魔术常量
在PHP中还有一些特殊的常量,他们有双下划线开始+长两名+双下划线结束,这种常量称之为系统魔术常量:魔术常量的值通常会跟着环境变化,但是用户改变不了
DIR:当前被执行的脚本所在电脑的绝对路径
FILE:当前被执行的脚本所在的电脑的绝对路径(带自己文件的名字)·
LINE:当前所属的行数
NAMESPACE:当前所属的命名空间
CLAss:当前所属的类·
METHOD:当前所属的方法·
数据类型
数据类型: data type,在 PHP中指的是存储的数据本身的类型,而不是变量的类型。PHP是-种弱类型语言,变量本身没有数据类型。
在PHP中将数据分为三大类八小类:
简单(基本)数据类型:4个小类
整型:int/integer,系统分配4个字节存储,表示整数类型(有前提)
浮点型: float/double,系统分配8个字节存储,表示小数或者整型存不下的整数,字符串型: string,系统根据实际长度分配,表示字符串(引号)
布尔类型: bool/boolean,表示布尔类型,只有两个值:true和 false
复合数据类型:2个小类。
对象类型: object,存放对象(面向对象)
数组类型:array,存储多个数据(一次性)
特殊数据类型:2个小类
资源类型:resource,存放资源数据(PHP外部数据,如数据库、文件)
空类型:NULL,只有一个值就是NULL(不能运算),
类型转换.
类型转换:在很多的条件下,需要指定的数据类型,需要外部数据(当前PHP取得的数据),转换成目标数据类型,
在PHP中有两种类型转换方式:
1、自动转换:系统根据需求自己判定,自己转换(用的比较多,效率偏低)。
2、强制(手动)转换:认为根据需要的目标类型转换,
强制转换规则:在变量之前增加一个括号(),然后在里面写上对应类型:int/intege…其中NULL类型用到unset()
在转换过程中,用的比较多的就是转布尔类型(判断)和转数值类型(算术运算)﹐
其他类型转布尔类型: true 或者false,在PHP中比较少类型换变成false
其他类型转数值的说明
1、布尔 true为 1,false 为0;
2、字符串转数值有自己的规则。
2.1以字母开头的字符串,永远为0;
2.2以数字开头的字符串,取到碰到字符串为止(不会同时包含两个小数点)
类型判断
通过一组类型判断函数,来判断变量,最终返回这个变量所保存数据的数据类型(相同结果为true,失败为false):是一组以 is_开头后面跟类型名字的函数: is.XXX(变量名)
Bool.类型不能用echo来查看,可以使用var_dump结构查看Var.dump(变量1,变量2…)
还有一组函数可以用来获取以及设定数据(变量)的类型。
Gettype(变量名):获取类型,得到的是该类型对应的字符串,
Settype(变量名,类型):设定数据类型:与强制转换不同
1、强制转换(类型)变量名,是对数据值复制的内容进行处理(不会处理实际存储的内容)·
2、settype会直接改变数据本身·
整数类型
整数类型:保存整数数值(范围限制),4个字节存储数据,最大就是32位:42亿多。但是在PHP中默认是有符号类型(区分正负数〉·
,
在PHP中提供了四种整型的定义方式:十进制定义,二进制定义,八进制定义和十六进制定义
$a =120; //10进制,
$a=0b110; //2进制
$a=0120; //8进制
$a=0x120; //16进制,
PHP中不需要用户这么复杂的去计算,提供了很多的函数进行转换。
Decbin():十进制转二进制
Decoct():十进制转八进制
Dechex():十进制转十六进制
Bindec():二进制转十进制
浮点类型
浮点型:小数类型以及超过整型所能存储范围的整数(不保证精度),精度范围大概在15个有效数字左右
浮点型定义有两种方式:
$f = 1.23;
$f = 1.23e10; //科学计数法,其中e表示底10
尽量不用用浮点数做精确判断:浮点数保存的数据不够精确,而且在计算机中凡是小数基本上存的都不准确
布尔类型
布尔类型:两个值true和 false,通常是用于判断比较
在进行某些数据判断的时候,需要特别注意类型转换
Empty():判断数据的值是否为“空”,不是NULL,如果为空返回true,不为空返回false
lsset():判断数据存储的变量本身是否存在,存在变量返回true,不存在返回false
运算符
运算符: operator,是一种将数据进行运算的特殊符号,在PHP中一共有十种运算符之多
逻辑与和逻辑或又称之为短路运算:如果第一个表达式结果已经满足条件了,那么就不会运行逻辑运算符后面的表达式:在书写代码的时候,尽量将出现概率最高的(能够直接判断出结果)的表达式放到第一位
错误抑制符通常在生产环境(上线〉会用到,在开发的时候不会用:系统本身最好没有任何错误。
if
switch分支
for循环
while、do-while
循环控制
流程控制替代语法
文件包含
文件包含原理
include 和 require的区别
文件加载路径
文件嵌套包含
函数
函数命名规范
函数名字:在一个脚本周期中,不允许出现同名函数(通常在一个系统开发中都不会使用同名函数 )
参数详解
引用传值注意事项:在传入实参的时候,必须传入变量
函数体和函数返回值
Return关键字:
1.return在函数内部存在的价值:返回当前函数的结果(当前函数运行结束)
2. return还可以再文件中直接使用(不在函数里面):代表文件将结果return后面跟的内容,转交给包含当前文件的位置。(通常在系统配置文件中使用较多),在文件中也代表着终止文件后面的代码:return后面的内容不会执行
作用域