18

私はこの配列を持っています:

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

そして、次のキー名を取得するPHPの「for each」ループを探していますentries

id
name
age

これどうやってするの?

4

7 に答える 7

2

次のようなことができます。

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

true関数の 2 番目のパラメーターの値として渡すとjson_decode、デコードされた値を配列として使用できます。

于 2012-06-06T13:02:27.503 に答える
1

他の回答に満足できなかったので、自分の回答を追加します。最も一般的なアプローチは次のとおりだと思います。

$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

于 2015-09-25T08:37:43.910 に答える
0
foreach($json->entries[0] AS $key => $name) {
    echo $key;
}
于 2012-06-06T13:01:22.373 に答える
0

次を使用して、オブジェクトのプロパティを取得してみてくださいget_object_vars

 $keys = array();

 foreach($json->entries as $entry)
   $keys += array_keys(get_object_vars($entry));

 print_r($keys);
于 2012-06-06T13:14:59.980 に答える