Array ( [0] => 0 //value is int 0 which isn;t empty value [1] => //this is empty value [2] => //this is empty value )
Я хотел бы сделать вышеупомянутый массив следующим: Может ли кто-нибудь мне помочь?
Большое спасибо
Array ( [0] => 0 )
Вы можете использовать array_filter для удаления пустого значения (null, false, '', 0):
array_filter($array);
Если вы не хотите удалять 0
из своего массива, см. Ответ @ Sabari:
array_filter($array,'strlen');
Вы можете использовать:
Только для удаления значений NULL:
$new_array_without_nulls = array_filter($array_with_nulls, 'strlen');
Чтобы удалить ложные значения:
$new_array_without_nulls = array_filter($array_with_nulls);
Надеюсь это поможет 🙂
array_filter($array, function($var) { //because you didn't define what is the empty value, I leave it to you return !is_empty($var); });
Это типичный случай для array_filter
. Сначала вам нужно определить функцию, которая возвращает TRUE
если значение должно быть сохранено и FALSE
если оно должно быть удалено:
function preserve($value) { if ($value === 0) return TRUE; return FALSE; } $array = array_filter($array, 'preserve');
Затем вы указываете в функции обратного вызова (здесь preserve
) то, что пусто, а что нет. Вы специально не задали свой вопрос, поэтому вам нужно сделать это самостоятельно.
быстрый способ найти числа также Zero (0)
var_dump( array_filter( array('0',0,1,2,3,'text') , 'is_numeric' ) ); /* print : array (size=5) 0 => string '0' (length=1) 1 => int 0 2 => int 1 3 => int 2 4 => int 3 */