У меня есть массив, как и использовал 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);
});
$num_array = array(1,2,3,4,0,0);
$zero_val = array_keys($num_array,!0);
print_r($zero_val);