Нет, невозможно получить ключ значения из массива без явной (foreach
, while
, for
) или неявной (in_array
, array_flip
, array_search
) итерации.
PHP РУЧНАЯ СИСТЕМА: массив в PHP на самом деле является упорядоченной картой. Карта - это тип, который связывает значения с ключами. Этот тип оптимизирован для нескольких различных применений; он может быть обработан как массив, список (вектор), таблица ha sh (реализация карты), словарь, коллекция, стек, очередь и, возможно, больше. Поскольку значения массива могут быть другими массивами, также возможны деревья и многомерные массивы.
Из do c массив - это карта, которая используется для получения значения из индекса или ключа, а не наоборот.
Если вы выполняете многократный поиск с помощью $country
, вы можете перевернуть $iso_contries
, а затем использовать индекс для получения значения.
$iso_countries = array
(
'AF' => 'Afghanistan',
'AX' => 'Aland Islands',
'AL' => 'Albania',
'DZ' => 'Algeria',
);
$iso_countries = array_flip($iso_countries);
$country = 'Algeria';
echo $iso_countries[$country];