2019独角兽企业重金招聘Python工程师标准>>>
强制类型转换问题:
(array) false ====> array(0=>)
(array) true ====> array(0=>1)
(array) null ====>array( )
进行类型转换的时候要注意
1. null , 0 , false , array() , '' ,'0'
type: NULL (int) $var=0 intval($var) 0
type: integer (int) $var=0 intval($var) 0
type: boolean (int) $var=0 intval($var) 0
type: array (int) $var=0 intval($var) 0
type: string (int) $var=0 intval($var) 0
其他类比较:
array(1,2) , 'hello12' , '12hello' ,'20120801017hello' , 0.99, 0.1
type: array (int) $var=1 intval($var) 1
type: string (int) $var=0 intval($var) 0
type: string (int) $var=12 intval($var) 12
type: string (int) $var=2147483647 intval($var) 2147483647 //边界值
type: double (int) $var=0 intval($var) 0
type: double (int) $var=0 intval($var) 0
2. empty() , isset()
empty():
""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的
" " 非空,中间有空格
isset():
isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用defined函数。
若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE
当转换为 boolean 时,以下值被认为是 FALSE:
布尔值 FALSE 自身
整型值 0 (零)
浮点型值 0.0 (零)
空 字符串, 以及 字符串 "0"
不包括任何元素的数组
不包括任何成员变量的对象(仅PHP 4.0 适用)
特殊类型 NULL (包括尚未设定的变量)
从没有任何标记(tags)的XML文档生成的SimpleXML 对象