पर आधारित बहुआयामी-सरणी से तत्व हटाएं मैं मूल्य पर आधारित एक बहुआयामी-सरणी से तत्वों को हटाने की कोशिश कर रहा हूं। इस मामले में यदि उप-सरणी की कुंजी 'वर्ष' में मूल्य 2011 है तो मैं उस उप-सरणी को बाहर करना चाहता हूं।मान
बस रिकॉर्ड के लिए: मैं PHP 5.2 चला रहा हूं।
मेरे सरणी इस तरह दिखता है:
Array
(
[0] => Array
(
[filmId] => 61359
[url] => http://www.moviemeter.nl/film/61359
[title] => Unstoppable
[alternative_title] =>
[year] => 2011
[thumbnail] => http://www.moviemeter.nl/images/covers/thumbs/61000/61359.jpg
[average] => 0
[votes_count] => 0
[similarity] => 100.00
[directors_text] => geregisseerd door Richard Harrison
[actors_text] => met Chen Shilony, Ruben Crow en David Powell
[genres_text] => Drama/Komedie
[duration] => 90
)
[1] => Array
(
[filmId] => 87923
[url] => http://www.moviemeter.nl/film/87923
[title] => Unstoppable
[alternative_title] =>
[year] => 2011
[thumbnail] => http://www.moviemeter.nl/images/covers/thumbs/87000/87923.jpg
[average] => 0
[votes_count] => 0
[similarity] => 100.00
[directors_text] => geregisseerd door Example Director
[actors_text] => met Actor 1, Actor 2 en Actor 3
[genres_text] => Drama/Komedie
[duration] => 90
)
[2] => Array
(
[filmId] => 68593
[url] => http://www.moviemeter.nl/film/68593
[title] => Unstoppable
[alternative_title] =>
[year] => 2010
[thumbnail] => http://www.moviemeter.nl/images/covers/thumbs/68000/68593.jpg
[average] => 3.3
[votes_count] => 191
[similarity] => 100.00
[directors_text] => geregisseerd door Tony Scott
[actors_text] => met Denzel Washington, Chris Pine en Rosario Dawson
[genres_text] => Actie/Thriller
[duration] => 98
)
[3] => Array
(
[filmId] => 17931
[url] => http://www.moviemeter.nl/film/17931
[title] => Unstoppable
[alternative_title] => Nine Lives
[year] => 2004
[thumbnail] => http://www.moviemeter.nl/images/covers/thumbs/17000/17931.jpg
[average] => 2.64
[votes_count] => 237
[similarity] => 100.00
[directors_text] => geregisseerd door David Carson
[actors_text] => met Wesley Snipes, Jacqueline Obradors en Mark Sheppard
[genres_text] => Actie/Thriller
[duration] => 96
)
)
मैं इस विकल्प को दूसरा करता हूं। यद्यपि जैकब समाधान बहुत ही सुरुचिपूर्ण है, लेकिन अगर सरणी में घोंसले का स्तर होता है, तो मैं पुनरावृत्ति का उपयोग करके परेशान नहीं होता हूं, जैसा ऊपर दिखाया गया उदाहरण है। बेशक, आप प्रत्यावर्तन (या in_array या इसी तरह काम करता है, जो भी एक छोटे से तेजी से किया जा सकता है के साथ array_map का एक संयोजन) पर भरोसा करने की अगर आपके सरणी की संरचना पहले से पता नहीं है। – maraspin
आपकी प्रतिक्रिया के लिए धन्यवाद! अद्भुत काम करता है! – Bob
बस एक sidenote पर: मैं परिणाम प्राप्त नहीं कर सका। यकीन नहीं है कि मैंने क्या गलत किया लेकिन मैंने इसे अपने मामले में तय किया।मुझे "वापसी $ सरणी" जोड़ना पड़ा; फोरैच लूप के बाद, और इसे इस तरह कॉल करें: $ array = removeElementWithValue ($ array, "year", 2011); जो लोग भविष्य में इसका उपयोग कर रहे हैं और इंडेक्स को फिर से व्यवस्थित करना चाहते हैं, आप निम्न का उपयोग कर सकते हैं: $ array = array_values ($ array); – Bob