【发布时间】:2014-11-19 04:57:40
【问题描述】:
我有类似数组并使用 array_keys 来获取键:
$arr = array( 1 => 1,
2 => 3,
3 => 2,
5 => 0,
6 => 0 );
$new_arr = array_keys($arr);
现在,如果值不为零,我想获取 array_keys。我该怎么做?
请帮忙。
【问题讨论】:
我有类似数组并使用 array_keys 来获取键:
$arr = array( 1 => 1,
2 => 3,
3 => 2,
5 => 0,
6 => 0 );
$new_arr = array_keys($arr);
现在,如果值不为零,我想获取 array_keys。我该怎么做?
请帮忙。
【问题讨论】:
在获取密钥之前在您的阵列上运行array_filter;删除 0 值,你只得到你需要的键。
$new_arr = array_keys(array_filter($arr));
输出
Array
(
[0] => 1
[1] => 2
[2] => 3
)
【讨论】:
您可以在为array_keys 传递数组之前删除所有具有值的元素:
NULL
null
''
0
以下内容:
array_filter($array, function($var) {
// Remove all empty values defined in the above list.
return !is_empty($var);
});
【讨论】:
If no callback is supplied, all entries of array equal to FALSE (see converting to boolean) will be removed.
$num_array = array(1,2,3,4,0,0);
$zero_val = array_keys($num_array,!0);
print_r($zero_val);
【讨论】: