Для получения полного доступа
зарегистрируйтесь

PHP Поиск индекса в многомерном массиве по значению


Есть переменная A, есть двухмерный массив B. Ищем индекс строки в двухмерном массиве, в котором присутствует переменная A.

<?
$movies = array(
  array("title" => "Rear Window", "director" => "Alfred Hitchcock", "year" => 1954),
  array("title" => "Full Metal Jacket", "director" => "Stanley Kubrick", "year" => 1987),
  array("title" => "Mean Streets", "director" => "Martin Scorsese", "year" => 1973)
);
$year = 1973;

//поиск
$result = array_filter($movies, function($innerArray){
	global $year;
	return in_array($year, $innerArray); 
});
$res = array_keys($result);

//вывод
echo '<pre>'.$res[0].'</pre>';

//либо поиск с помощью foreach
function search_array($array, $p){ 
    foreach ($array as $key => $value){ 
        if (array_search ($p, $value)){ 
            return $key; 
        }   
    } 
} 
//вывод
echo '<pre>'.search_array($movies, $year).'</pre>';
?>

Чтобы увидеть комментарии, нужно быть участником сообщества

Регистрация