- PHP支持的三种注释格式:单行注释(//)、多行注释(/* */)、Shell风格注释(#)
- PHP的数据类型:标量类型:boolean(布尔型)、integer(整型)、float/double(浮点型)、string(字符串型);
符合类型:array(数组)、object(对象);
特殊类型:resource(资源)、Null
- (注)不是只有false值才为假,下面的特殊情况也为假:0、0.0、”0”、空白字符串(””)、只声明却没有赋值的数组
- 三种定义字符串的方式:单引号(’)、双引号(”)、定界符(<<<),其中双引号中的内容会被自动替换成实际数值,
单引号中包含的变量按普通字符串输出。如果没有特殊要求尽量使用单引号。
- 【常用的转义字符】
整型:如果用八进制则数字前面必须加0;如果用十六进制则数字前面必须加0x.如果给出的数值超出了int型所能表示的最大范围,
将会被当作float类型处理,这叫做“整数溢出”。
空值(Null)不区分大小写。被赋予空值的情况有三种:还没有赋任何值、被赋值为null、被unset()函数处理过的变量。
- 转换数据类型:只需在变量前加上用括号括起来的类型名称即可。还可以通过settype()函数来完成,该函数将指定的变量转换成指定的数据类型。使用integer操作符能直接输出转换后的变量名,并且原变量不发生任何变化。而使用settype()函数返回的是1,也就是true,原变量被改变了。
- 【检测数据类型】
使用define()函数定义常量、使用constant()函数动态获取常量的值、使用defined()函数判断常量是否被定义。
- 【PHP中的预定义常量:】
使用“&”符号来表示引用赋值。引用和复制的区别——复制:将原变量内容复制下来,开辟一个新的内存空间来保存。引用:给变量的内容再起一个名字。
- 【变量作用域】
局部变量:作用域是所在函数,如果在函数外赋值,将被认为是完全不同的另一个变量。
在退出声明变量的函数时,该变量及相应的值会被清除。
全局变量:可在程序中任何地方访问,但在用户自定义函数内不可用。若想在用户自定义函数内使用全局变量,要使用global关键字声明。
静态变量的应用:
(1)博客中可以使用静态变量记录浏览者的人数,每一次用户访问和离开时,都能够保留目前浏览者的人数。
(2)聊天室中可以使用静态变量记录用户的聊天内容。
可变变量:在变量前面再多加一个“$”符号,允许动态改变一个变量名称。
- 【PHP预定义变量】
- PHP中运算符包括:算术运算符、字符串运算符、赋值运算符、位运算符、逻辑运算符、比较运算符、递增(递减)运算符、错误控制运算符。
使用%进行求余运算,如果被除数是负数,那么取得的结果也是负数。
字符串运算符只有唯一的英文句号“.”,比较“.”和“+”:使用“.”时,$m和$n两个字符串会组成一个新的字符串;
使用“+”时,会进行两边的运算。如果两边有字符类型则会自动转换为整型;如果是字母则输出为0,如果是以数字开头的字符串则会截取字符串头部的数字再进行运算。
比较运算符:
在错误的表达式前加上@符号,可以对程序中出现错误的表达式的错误进行屏蔽,但是并没有真正解决错误。
比较:值传递和引用传递(加一个&符号)
当使用默认参数(即:可选参数)时,默认参数必须放在非默认参数的右侧,否则函数将出错。
从函数中返回值用return()关键字,return语句只能返回一个参数(即:只能返回一个值),不能一次返回多个。
如果要返回多个结果,要在函数中定义数组,将返回值存储在数组中返回。
- PHP中的变量函数:
对函数的引用,就是对函数返回结果的引用,必须在两个地方都使用“&”符号:
取消引用使用的是unset()函数,它只是断开了变量名和变量内容的绑定,而不是销毁变量内容。
- 获取字符串长度的函数为:strlen($str);
- 条件控制语句主要包括:if、if…else、if…elseif…else、switch四种。
- rand()函数:取得一个随机的整数。格式为:int rand(int mix,int max)。rand()函数返回mix~max之间的一个随机数。如果没有参数,则返回0~RAND_MAX之间的随机整数。
- 获取当前月份和日期:
跳出循环使用的是break和continue。Break语句不仅可以跳出当前循环,还可以指定跳出几重循环:break $num;
Continue终止本次循环而进入下一次循环,continue也可以指定跳出几重循环。
[了解]流程控制的另一种书写格式:使用冒号“:”代替左边的大括号“{”,使用endif; 、endwhile; 、endfor; 、endreach; 、endswitch; 代替右边的大括号“}”。
- PHP中的Null变量:1 变量未被赋予任何值,2 变量被赋值为NULL,3 被unset() 函数处理后的变量。
PHP中强制类型转换的实现方式:
其他数据类型转换为布尔型:
布尔型转换为字符串:
其他数据类型转换为数组:
PHP中变量名区分大小写,$var 和 $VAR 是两个变量
- PHP中的变量:
(1)局部变量——不同变量,$name、$age
(2)全局变量——变量前加上global或者GLOBAL关键字:(通常情况下不建议使用全局变量)
(3)静态变量——变量前加上static关键字
结论:静态变量的作用范围与局部变量相同,但是生命周期与全局变量相同。
(4)默认的系统变量:
- PHP中的常量:
默认的系统常量:
运算符$a++ 和 ++$a 的区别:$a++ 先返回变量值再自加,++$a 先自加再返回变量值,$a—同理。
- PHP中的位运算(主要用于整型数据的运算):
- 比较运算符:
- 逻辑运算符:
- 类型运算符(instance)判断指定对象是否来自指定的类:
- 执行运算符(`` 键盘数字1左边的按键)——使用该运算符内的字符串会被当作DOS命令行来处理。
- 运算符的优先级:
- 流程控制语句:
break跳转语句——用于中断循环执行流程
Continue跳转语句——跳过本次循环中后面的代码并进入下一次循环
【代码】https://github.com/rxbook/study-php/tree/master/code01