Intereting Posts
Как в PHP добавить значения из одного массива в другой, когда их пары значений ключей совпадают? Вызовите TinyMCE в плагине WordPress Мобильная версия сайта с использованием CodeIgniter Итерация через строки Mysql в PHP Нужно ли мне избегать моих переменных, если я использую подготовленные операторы MySQLi? Распределение памяти PHP не работает Почему readfile () исчерпывает память PHP? PHP служит MP4 – Chrome «Предварительные заголовки показаны / запрос еще не закончен» ошибка php – Получить сжатое содержимое с помощью cURL Сравните все строки в массиве со всеми строками в другом массиве, PHP Использование javascript для назначения переменной php проблема с сеансом по субдомену только для google chrome Как исправить ошибку «Заголовки уже отправлены» в PHP Как преобразовать неправильно кодированные данные в UTF-8? Geo перенаправляет пользователя только один раз, используя php

Извлечение ключей массива с входа JSON

У меня есть этот массив:

$json = json_decode(' {"entries":[ {"id": "29","name":"John", "age":"36"}, {"id": "30","name":"Jack", "age":"23"} ]} '); 

и я ищу PHP для каждого цикла, который будет получать имена ключей под entries , то есть:

 id name age 

Как я могу это сделать?

Попробуй

 foreach($json->entries as $row) { foreach($row as $key => $val) { echo $key . ': ' . $val; echo '<br>'; } } 

В ключе $ вы получите имена ключей, а в val вы получите значения

Вы могли бы сделать что-то вроде этого:

 foreach($json->entries as $record){ echo $record->id; echo $record->name; echo $record->age; } 

Надеюсь это поможет!

Вы можете попробовать получить свойства объекта, используя get_object_vars :

  $keys = array(); foreach($json->entries as $entry) $keys += array_keys(get_object_vars($entry)); print_r($keys); 
 foreach($json->entries[0] AS $key => $name) { echo $key; } 

Я не был удовлетворен другими ответами, поэтому добавляю свои собственные. Я считаю, что наиболее общий подход:

 $array = get_object_vars($json->entries[0]); foreach($array as $key => $value) { echo $key . "<br>"; } 

где я использовал entries[0] потому что вы предполагаете, что все элементы массива entries имеют одинаковые ключи.

Взгляните на официальную документацию по key слову : http://php.net/manual/en/function.key.php