Boolean 误区
几种转换为 Boolean 时,其值为 FALSE 的情况 |
---|
布尔值 FALSE 本身 |
整型值 0(零) |
浮点型值 0.0(零) |
空字符串,以及字符串 “0” |
不包括任何元素的数组 |
特殊类型 NULL(包括尚未赋值的变量) |
从空标记生成的 SimpleXML 对象 |
String 四种表达方式
说明 | |
---|---|
单引号 | 特殊字符和变量不会被解析 |
双引号 | 特殊字符和变量会被解析 |
Heredoc | 特殊字符和变量会被解析,标识符EOT |
Nowdoc | 特殊字符和变量不会被解析,标识符'EOD' |
类型转换
目标类型 | 说明 |
---|---|
(int), (integer) | 转换为整形 integer |
(bool), (boolean) | 转换为布尔类型 boolean |
(float), (double), (real) | 转换为浮点型 float |
(string) | 转换为字符串 string |
(array) | 转换为数组 array |
(object) | 转换为对象 object |
(unset) | 转换为 NULL (PHP 5) |
预定义变量
变量名 | 说明 |
---|---|
$GLOBALS | 引用全局作用域中可用的全部变量 |
$_SERVER | 服务器和执行环境信息 |
$_GET | HTTP GET 变量 |
$_POST | HTTP POST 变量 |
$_FILES | HTTP 文件上传变量 |
$_REQUEST | HTTP Request 变量 |
$_SESSION | Session 变量 |
$_ENV | 环境变量 |
$_COOKIE | HTTP Cookies |
$php_errormsg | 前一个错误信息 |
$HTTP_RAW_POST_DATA | 原生POST数据 |
$http_response_header | HTTP 响应头 |
$argc | 传递给脚本的参数数目 |
$argv | 传递给脚本的参数数组 |
常量和变量的区别
常量和变量的区别 | |
---|---|
相同 | 命名规范都必须以字母或下划线开头,后面跟字母,数字或下划线 |
不同 | 1、常量前面没有美元符号 $ 2、常量不能通过赋值语句定义 3、常量可以在任何地方定义和访问 4、常量一旦定义就不能被重新定义或者取消定义 5、常量的值只能是标量 |
魔术常量
名称 | 说明 |
---|---|
__LINE__ | 文件中的当前行号 |
__FILE__ | 文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名 |
__DIR__ | 文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录 |
__FUNCTION__ | 函数名称,返回该函数被定义时的名字 |
__CLASS__ | 类的名称,返回该类被定义时的名字 |
__TRAIT__ | Trait 的名字 |
__METHOD__ | 类的方法名,返回该方法被定义时的名字(区分大小写) |
__NAMESPACE__ | 当前命名空间的名称(区分大小写) |
算术运算符
名称 | 说明 |
---|---|
-<变量名> | 取反 |
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 取余 |
** | 乘方 |
赋值运算符
名称 | 说明 |
---|---|
= | 赋值 |
<运算符>=,例 i+=1 | 组合赋值 |
位运算符
名称 | 说明 |
---|---|
& | And(按位与) |
I | Or(按位或) |
^ | Xor(按位异或) |
~ | Not(按位取反) |
<< | Shift left(左移) |
>> | Shift right(右移) |
比较运算符
名称 | 说明 |
---|---|
== | 值相等 |
=== | 类型和值都相等 |
!= | 值不相等 |
<> | 等同于 != |
!== | 值或类型不同 |
< | 小于 |
> | 大于 |
<= | 大于等于 |
>= | 小于等于 |
比较运算符误区 |
---|
null 或 string 和 string 比较时,将 null 转换为 “”,进行数字或词汇比较 |
bool 或 null 和其他类型比较时,转换为 bool,FALSE < TRUE |
string,resource 或 number 相互比较时,将 string 或 resource 转换为 number,按普通数字比较 |
array 之间比较时,具有较少成员的 array 较小 |
object 和其他类型比较时,object 总是更大 |
array 和其他类型比较时,array 总是更大,但是比 object 小 |
逻辑运算符
名称 | 说明 |
---|---|
and | 与 |
&& | 与 |
or | 或 |
II | 或 |
xor | 异或 |
! | 非 |
数组运算符
名称 | 说明 |
---|---|
+ | 数组相加 |
== | 判断数组键和值相同 |
=== | 判断数组键和值且顺序和类型相同 |
!= | 判断数组键和值不同 |
<> | 等同于 != |
!== | 判断数组键和值且顺序和类型不同 |
对象继承误区
对象继承误区 |
---|
使用 final 修饰的方法不能被覆盖 |
使用 parent 可以调用父类方法或属性 |
使用 self 可以调用自身的方法属性 |
:: 可以调用静态方法,静态属性和常量 |
抽象类误区
抽象类误区 |
---|
继承一个抽象类的时候,子类必须定义父类中的所有抽象方法 |
子类中方法的访问控制必须和父类中一样 |
子类中方法的调用方式必须匹配,即类型和所需参数数量必须一致 |
接口误区
接口误区 |
---|
子类中必须实现接口中定义的所有方法 |
实现多个接口时,接口中的方法不能有重名 |
关联
[[PHP 常用正则表达式]]
[[PHP 常用自定义函数]]