मुझे बहुस्तरीय सरणी पर खाली प्रविष्टियों को हटाने की आवश्यकता है। अभी के लिए मैं इस कोड खाली उप सरणियों के साथ प्रविष्टियों को हटा सकते हैं, लेकिन नहीं खाली सरणियों ... उलझन में है, इसलिए मैं ... मुझे लगता है कि कोड बेहतर व्याख्या करने के लिए मदद मिलेगी है ...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