array_kes($array,search,type) 的妙用
$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类型的