我需要刪除多級陣列上的空條目。現在我可以用空的子陣中刪除條目,而不是空數組...困惑,所以我...我認爲的代碼將有助於更好地解釋......PHP的 - 如何遞歸刪除數組的空條目?
<?php
/**
*
* This function remove empty entries on arrays
* @param array $array
*/
function removeEmptysFromArray($array) {
$filtered = array_filter($array, 'removeEmptyItems');
return $filtered;
}
/**
*
* This is a Callback function to use in array_filter()
* @param array $item
*/
function removeEmptyItems($item) {
if (is_array($item)) {
return array_filter($item, 'removeEmptyItems');
}
if (!empty($item)) {
return true;
}
}
$raw = array(
'firstname' => 'Foo',
'lastname' => 'Bar',
'nickname' => '',
'birthdate' => array(
'day' => '',
'month' => '',
'year' => '',
),
'likes' => array(
'cars' => array('Subaru Impreza WRX STi', 'Mitsubishi Evo', 'Nissan GTR'),
'bikes' => array(),
),
);
print_r(removeEmptysFromArray($raw));
?>
好吧,這個代碼將刪除「暱稱」,「生日」,但不會刪除具有空陣列的「自行車」。
我的問題是...如何刪除「自行車」條目?
最好的問候,
對不起,我的英語...
你爲什麼要刪除它們? – John