Tôi cần xóa các mục trống trên các mảng đa cấp. Bây giờ tôi có thể loại bỏ các mục với các mảng con trống, nhưng không trống mảng ... nhầm lẫn, do đó, tôi ... Tôi nghĩ rằng mã sẽ giúp giải thích tốt hơn ...PHP - Làm thế nào để loại bỏ các mục rỗng của một mảng đệ quy?
<?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));
?>
Ok, mã này sẽ xóa "biệt hiệu", "ngày sinh" nhưng không xóa "xe đạp" có mảng trống.
Câu hỏi của tôi là ... Cách xóa mục nhập "xe đạp"?
Best Regards,
Xin lỗi vì tiếng anh của tôi ...
Tại sao bạn muốn xóa chúng? – John