2015-04-20 2 views
10

Я хочу получить значение KEY ассоциативного массива PHP в определенной записи. В частности, я знаю, что KEY, который мне нужен, является ключом ко второй записи в массиве.Получить n-й ключ ассоциативного php-массива

Пример:

$array = array('customer' => 'Joe', 'phone' => '555-555-5555'); 

Что я строю супер-динамический, так что я не знаю, второй вход будет «телефон». Есть ли простой способ захватить его?

Короче говоря, (я знаю, что это не работает, но ...) Я ищу что-то функционально эквивалентны: key($array[1]);

+0

Это очень необычное требование для ** ** ассоциативного массива. – Devon

+0

Вопрос, показанный как дубликат http://stackoverflow.com/questions/4769148/accessing-an-associative-array-by-integer-index-in-php, не то же самое. Он хочет установить значение на основе индекса, мне нужно указать значение ключа на основе индекса. – jtubre

ответ

17

array_keys производит числовой массив ключей в виде массива.

$keys = array_keys($array); 
$key = $keys[1]; 

Если вы используете PHP 5.4 или выше, я полагаю, вы можете просто сделать:

$key = array_keys($array)[1]; 
+1

Спасибо. Особенно для второй линии. Не знал об этом ярлыке. Это работает, но, к сожалению, моя проверка ошибок DW CS5.5 не нравится. – jtubre