判断函数
is_bool()
判断是否为布尔类型;is_int()
判断是否为整形;is_float()
判断是否为浮点类型;is_string()
判断是否为字符串;is_null(变量)
判断变量是否为null
或未定义
; is_set(变量)
判断变量是否为null
或未定义
,如果是,返回假,否则返回真empty(变量)
判断变量是否为null
、未定义
、''
、0
,以上4种任意条件满足都为真unset(变量)
释放变量
运算符
+
-
*
/
%
(加,减,乘,除,除余)+=
-=
*=
/=
%=
(加后赋值,减后赋值,乘后赋值,除后赋值,除余后赋值)++
--
(加一,减一)++=
(先加一后赋值) =++
(先赋值后加一)--=
(先减一后赋值) =--
(先赋值后减一)
$init = 10;var_dump($init += 30); // $init = 40var_dump($init -= 10); // $init = 20var_dump($init *= 4); // $init = 40 var_dump($init /= 5); // $init = 6var_dump($init %= 3); // $init = 1var_dump(++$init); // $init = 11,先赋值,后输出var_dump(--$init); // $init = 10,原理同上var_dump($init++); // $init = 10,先输出,后赋值var_dump($init); // $init = 11,++赋值后,再输出,结果是11var_dump($init--); // $init = 11,原理同上var_dump($init); // $init = 10
. 连接运算符,可以变量与变量相连接,字符串与变量相连接,连接整型需要在整型前加空格,防止报错
$val=10;val2=20;var_dump(100 . 100); // 100100var_dump("abc". 100); // abc100 var_dump($val.$val2); //1020
任何字符串或变量或数值相连接后,返回数据类型都是字符串类型
比较运算符
>,>=,<,<=,===,!==(大于,大于等于,小于,小于等于,恒等于,恒不等)
=== 恒等于,判断值的类型相等,再判断值是否相等,如果两个都符合,则相等。
!==,同上,一样需要判断数据类型,和数据的值
逻辑运算符
逻辑运算符比较的只是变量,不会比较变量类型
and 和 && 与判断
两个值都为真才会返回真,有假就会返回假
var_dump(true && true); // 真var_dump(1 && true); // 真,只会比较值,不会比较变量类型var_dump(true && false); // 假var_dump(100 && 30); // 假var_dump(100 && "100"); // 真,只会比较值,不会比较变量类型var_dump(0 && false) // 假,只会比较值,不会比较变量类型
or 和 || 或判断
一个真,返回真;两个真,返回真;两个假返回假
var_dump(true || true); // 真var_dump(true || false); // 真var_dump(false && false); // 假var_dump(100 && 30); // 真var_dump(100 || "100"); // 真var_dump(0 || false) // 假
xor 异或
一个真,返回真;两个真,返回假;两个假返回假
var_dump(true xor false); // 真var_dump(true xor true); // 真 var_dump(0 xor false); // 假
! 非
一个真,返回假;一个假,返回真;
var_dump(!0); // 真var_dump(!1); // 假var_dump(!false); // 真 var_dump(!true); // 假
总结
1.输出的,如果没有变量,尽量使用单引号'',php解释器会把它当做字符串输出,如果用双引号输出字符串,解释器会把它当做含有变量的字符解析,无形中给服务器带来额外负担。
2.逻辑运算符只会比较值,不会比较变量类型例如:
0 && true 100 || "100" //结果都为真
3.判断函数is_null()和empty()的区别是:
is_null()只会判断变量是否为 null 或 未定义 empty()则 null, '', 0 , 未定义 都符合条件