Вы ищете array_filter
функции ;-)
Например, эта часть кода:
$arr = array(null, 0, null, 0, '', null, '', 4, 6, '',);
$arr_filtered = array_filter($arr);
var_dump($arr_filtered);
даст вам следующий вывод:
array
7 => int 4
8 => int 6
Обратите внимание, что все "falsy" значения были удалены.
И если вы хотите быть более конкретным, вы можете указать свою собственную функцию фильтрации. Например, чтобы удалить только null
S из массива, я мог бы использовать это:
function my_filter($item) {
if ($item === null) {
return false;
}
return true;
}
$arr = array(null, 0, null, 0, '', null, '', 4, 6, '',);
$arr_filtered = array_filter($arr, 'my_filter');
var_dump($arr_filtered);
И я получаю:
array
1 => int 0
3 => int 0
4 => string '' (length=0)
6 => string '' (length=0)
7 => int 4
8 => int 6
9 => string '' (length=0)
Это дубликат. Я уверен, что – Gordon