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
(
[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,假, '',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);
希望這有助於:)
p.s.它也刪除了錯誤的布爾值... – Norris 2014-03-03 14:15:08
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
)什麼是空的,什麼不可以指定。你沒有專門寫你的問題,所以你需要自己做。
快速的方法來發現數字也是零(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
*/
那些是什麼空值?它們是假的,NULL,空字符串還是別的?那麼0呢?它是整數0還是字符串「0」?在數組中使用'var_dump()'來確定值的類型。 – BoltClock 2012-01-30 11:08:27
請定義'空值'。 – xdazz 2012-01-30 11:09:11