我试图从基于值的多维数组中删除元素。在这种情况下,如果子数组的键“ year”的值为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 ) )
尝试这个:
function removeElementWithValue($array, $key, $value){ foreach($array as $subKey => $subArray){ if($subArray[$key] == $value){ unset($array[$subKey]); } } return $array; }
然后,您将这样称呼它:
$array = removeElementWithValue($array, "year", 2011);