我有数组,并使用array_keys来获取密钥:
$arr = array( 1 => 1,
2 => 3,
3 => 2,
5 => 0,
6 => 0 );
$new_arr = array_keys($arr);
现在,如果value不为零,我想获取array_keys。我怎么能这样做?
请帮忙。
答案 0 :(得分:7)
在获得密钥之前在阵列上运行array_filter
;删除0值,你只得到你需要的键。
$new_arr = array_keys(array_filter($arr));
<强>输出强>
Array
(
[0] => 1
[1] => 2
[2] => 3
)
答案 1 :(得分:0)
在为array_keys
传递数组之前,您可以删除包含值的所有元素:
NULL
null
''
0
以下内容:
array_filter($array, function($var) {
// Remove all empty values defined in the above list.
return !is_empty($var);
});
答案 2 :(得分:0)
$num_array = array(1,2,3,4,0,0);
$zero_val = array_keys($num_array,!0);
print_r($zero_val);