Получение ключа единственного элемента в массиве PHP

Ключ ассоциативного массива динамично сгенерирован. Как я получаю "Ключ" такого массива?

$arr = array ('dynamic_key' => 'Value');

Я знаю, что возможно получить доступ к нему через цикл foreach как это:

foreach ($arr as $key => $val) echo "Key value is $key";

Однако я знаю, что этот массив будет иметь только один ключ и захочет избежать цикла foreach. Действительно ли возможно получить доступ к значению этого элемента каким-либо другим способом? Или получите ключевое имя?

11
задан shxfee 16 February 2010 в 07:00
поделиться

5 ответов

редактировать: http://php.net/each говорит:

каждый

Предупреждение Эта функция УСТАРЕЛА, начиная с PHP 7.2.0. Настоятельно не рекомендуется полагаться на эту функцию.


Можно использовать клавишу () .
Если вы все равно собираетесь получить значение, вы также можете использовать each () и list () .

$arr = array ('dynamic_key' => 'Value');
list($key, $value) = each($arr);
echo $key, ' -> ', $value, "\n";

выводит динамический_ключ -> Значение

14
ответ дан 3 December 2019 в 04:32
поделиться

Вы можете использовать array_shift (array_keys ($ arr)) array_values ​​ для получения значения), но он все еще делает цикл внутри.

0
ответ дан 3 December 2019 в 04:32
поделиться
$keys = array_keys($arr);
echo $keys[0];

Или используйте array_values ​​() для значения.

6
ответ дан 3 December 2019 в 04:32
поделиться

А как насчет array_keys()?

Хотя она возвращает массив...

0
ответ дан 3 December 2019 в 04:32
поделиться

Вы имеете в виду, что у вас есть значение entry и вы хотите получить ключ?

array_search ($value, $array) 

Возвращает ключ для needle, если он найден в массиве, FALSE в противном случае.

Если иголка найдена в стоге сена более более одного раза, возвращается первый подходящий ключ возвращается. Чтобы вернуть ключи для всех подходящих значений, используйте array_keys() с необязательным параметром search_value вместо этого.

подробнее : http://php.net/manual/en/function.array-search.php

0
ответ дан 3 December 2019 в 04:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: