$arr = array('','0',0,22,null,1,false);
$keys = array_keys($arr,false); foreach($keys as $val){ echo "key 是 $val 在\$arr中的值 = "; var_dump($arr[$val]); echo "将其值转换为false的结果 "; var_dump((bool)$arr[$val]); echo '<br />'; }结果:
key 是 0 在$arr中的值 = string(0) "" 将其值转换为false的结果 bool(false)
key 是 1 在$arr中的值 = string(1) "0" 将其值转换为false的结果 bool(false) key 是 2 在$arr中的值 = int(0) 将其值转换为false的结果 bool(false) key 是 4 在$arr中的值 = NULL 将其值转换为false的结果 bool(false) key 是 6 在$arr中的值 = bool(false) 将其值转换为false的结果 bool(false)//分析
在$arr 中 搜索 通过bool转换能够转换为false的值 将其下标返回到新数组中
php是弱类型语言啊,数据类型的自动转换
$arr = array('','0',0,22,null,1,false);
$keys = array_keys($arr,false,true); foreach($keys as $val){ echo "key 是 $val 在\$arr中的值 = "; var_dump($arr[$val]); echo "将其值转换为false的结果 "; var_dump((bool)$arr[$val]); echo '<br />'; }结果:
key 是 6 在$arr中的值 = bool(false) 将其值转换为false的结果 bool(false)
分析
传入第三个参数true
判断值等于false 并且类型是bool类型的