php常见数据类型转换与判断

强制类型转换问题:数组

(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 的变量,将返回 FALSEstring

 

 当转换为 boolean 时,如下值被认为是 FALSE:

    布尔值 FALSE 自身
    整型值 0 (零)
    浮点型值 0.0 (零)
    空 字符串, 以及 字符串 "0"
    不包括任何元素的数组
    不包括任何成员变量的对象(仅PHP 4.0 适用)
    特殊类型 NULL (包括还没有设定的变量)
    从没有任何标记(tags)的XML文档生成的SimpleXML 对象变量

相关文章
相关标签/搜索