如果值不为零,则获取数组键

时间:2014-11-19 04:57:40

标签: php array-key

我有数组,并使用array_keys来获取密钥:

$arr =  array(  1 => 1,
        2 => 3,
        3 => 2,
        5 => 0,
        6 => 0 );

$new_arr = array_keys($arr);

现在,如果value不为零,我想获取array_keys。我怎么能这样做?

请帮忙。

3 个答案:

答案 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);