से रिक्त तत्वों और उपनगरों को रिकर्सली से हटाएं, मुझे PHP में सरणी से खाली तत्वों को निकालने की पुरानी समस्या के लिए एक सरल, सीधा-आगे समाधान नहीं मिल रहा है।एक बहु-आयामी सरणी
मेरे इनपुट सरणी कुछ ऐसा दिखाई देगा:
Array ([0] => Array ([Name] => [EmailAddress] =>))
(और इसी तरह, वहाँ और अधिक डेटा है कि अगर, हालांकि वहाँ नहीं हो सकता है ...)
यह ऊपर की तरह लग रहा है, मैं इसे संसाधित करने के बाद पूरी तरह खाली होना चाहिए।
तो print_r($array);
उत्पादन होगा:
Array ()
अगर मैं $arrayX = array_filter($arrayX);
चलाने मैं अभी भी हीprint_r
उत्पादन मिलता है। जहां भी मैंने देखा है, यह सुझाव देता है कि PHP5 में रिक्त सरणी तत्वों को हटाने का यह सबसे आसान तरीका है।
मैं भी $arrayX = array_filter($arrayX,'empty_array');
कोशिश की, लेकिन मैं निम्नलिखित त्रुटि मिली:
Warning: array_filter() [function.array-filter]: The second argument, 'empty_array', should be a valid callback
क्या मैं गलत कर रहा हूँ?
array_filter 1 डी सरणी के लिए सेट है। –
क्या आप अनुमानित आउटपुट के साथ नमूना इनपुट दे सकते हैं? आपके प्रश्न की व्याख्या करने के कुछ अलग तरीके हैं, * "अगर यह उपर्युक्त जैसा दिखता है, तो मैं इसे संसाधित करने के बाद इसे पूरी तरह से खाली करना चाहता हूं।" * मुझे फेंक रहा है, क्या आप इसे पूरी तरह से चला जाना चाहते हैं या एक खाली सरणी बनने के लिए? –
यह एक बहु-आयामी सरणी है। array_filter केवल एक आयाम में काम करता है। आपको अपनी सरणी के माध्यम से फिर से शुरू करने की आवश्यकता है और पहले प्रत्येक पुनरावृत्ति के लिए array_filter लागू करें। – Nilpo