У меня есть массив как следующее:
function example() {
/* some stuff here that pushes items with
dynamically created key strings into an array */
return array( // now lets pretend it returns the created array
'firstStringName' => $whatEver,
'secondStringName' => $somethingElse
);
}
$arr = example();
// now I know that $arr contains $arr['firstStringName'];
Мне нужно выяснить индекс, $arr['firstStringName']
чтобы я мог пройти array_keys($arr)
и вернуть строку ключа 'firstStringName'
по ее индексу. Как я могу это сделать?
Ответы:
Если у вас есть значение и вы хотите найти ключ, используйте
array_search()
вот так:$key
теперь будет содержать ключ для значения'a'
(то есть'first'
).источник
array_filter()
может использоваться, если вам нужно вернуть все совпадающие результаты, а не только первый совпадающий, так как он сохраняет ключи.вернет значение ключа для текущего элемента массива
http://uk.php.net/manual/en/function.key.php
источник
Если я правильно понимаю, вы не можете просто использовать:
Смотрите руководство по PHP
источник
Если имя динамическое, то у вас должно быть что-то вроде
что означало бы, что $ key содержит значение ключа.
Вы можете использовать,
array_keys()
чтобы получить ВСЕ ключи массива, напримердаст вам
источник
Да, вы можете сказать, что php - один из немногих языков, которые предоставляют такую поддержку.
источник
если вам нужно вернуть элементы массива с одинаковым значением, используйте
array_keys()
функциюисточник
Вот еще один вариант
источник
использование
array_keys()
чтобы получить массив всех уникальных ключей.Обратите внимание, что массив с именованными ключами, такими как ваш,
$arr
также может быть доступен с помощью числовых индексов, например$arr[0]
.http://php.net/manual/en/function.array-keys.php
источник
Вы можете использовать функцию ключа php, чтобы получить имя ключа:
как здесь: PHP: ключ - ручной
источник