Sử dụng đầu vào này:
$array=['foo',NULL,'bar',0,false,null,'0',''];
Có một vài cách để bạn có thể làm điều đó. Demo
Nó hơi off-topic để đưa lên hành vi mặc định tham lam array_filter
's, nhưng nếu bạn đang googling trang này, đây có lẽ là thông tin quan trọng liên quan đến dự án của bạn/nhiệm vụ:
var_export(array_values(array_filter($array))); // NOT GOOD!!!!!
Bad Output :
array (
0 => 'foo',
1 => 'bar',
)
Bây giờ cho những cách mà sẽ làm việc:
Phương pháp # 1: (array_values()
, array_filter()
w/!is_null()
)
var_export(array_values(array_filter($array,function($v){return !is_null($v);}))); // good
Phương pháp # 2: (foreach()
, tự động lập chỉ mục mảng, !==null
)
foreach($array as $v){
if($v!==null){$result[]=$v;}
}
var_export($result); // good
Phương pháp # 3: (array_walk()
, mảng chỉ mục tự động, !is_null()
)
array_walk($array,function($v)use(&$filtered){if(!is_null($v)){$filtered[]=$v;}});
var_export($filtered); // good
Cả ba phương pháp cung cấp sau đây "null-free" đầu ra:
array (
0 => 'foo',
1 => 'bar',
2 => 0,
3 => false,
4 => '0',
5 => '',
)