Мне нужно найти индекс многомерного массива по двум значениям, одно из значений повторяется несколько раз, так как это список штатов и городов, вот пример
array(
99773000 => array('State' => 'ANTIOQUIA', 'City' => 'CUMARIBO'),
99624000 => array('State' => 'ANTIOQUIA', 'City' => 'SANTA ROSALIA'),
99524000 => array('State' => 'VICHADA', 'City' => 'LA PRIMAVERA'),
99001000 => array('State' => 'VICHADA', 'City' => 'PUERTO CARREÑO'),
.....
xxxxxxxx => array('State') => etc......
);
Теперь я получить в функции штат и город, и мне нужно вернуть индекс, вот как я делаю это прямо сейчас:
foreach ( $array as $index => $state_and_city ) {
$current_state = $state_and_city['State'];
$current_city = $state_and_city['City'];
if( $current_state == $state && $current_city == $city) {
return $index;
}
}
return '';
Я хотел бы знать, есть ли более эффективный подход для этого?