我有此數組:檢索數組鍵
$json = json_decode('
{"entries":[
{"id": "29","name":"John", "age":"36"},
{"id": "30","name":"Jack", "age":"23"}
]}
');
,我期待一個PHP「爲每個」循環,將檢索entries
下的鍵名,即:
id
name
age
我該怎麼做?
我有此數組:檢索數組鍵
$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你SHAL獲取值
foreach($json->entries[0] AS $key => $name) {
echo $key;
}
感謝米哈伊。不幸的是,我得到這個:致命錯誤:不能使用類型爲stdClass的對象作爲數組 – Nick
你可以做這樣的事情:
foreach($json->entries as $record){
echo $record->id;
echo $record->name;
echo $record->age;
}
希望這有助於!
這將獲取實際值。我正在尋找關鍵的名字。謝謝! – Nick
要做到這一點,您需要將'$ json'對象改爲數組。要做到這一點,你需要提供第二個參數到'json_decode()'函數 –
我忘了補充一點,你應該使用'$ json'對象作爲一個數組並使用'foreach($ json ['entries '] as $ record){foreach($ record = $ key => $ value){...}} –
你可以嘗試使用get_object_vars
獲取對象的屬性:
$keys = array();
foreach($json->entries as $entry)
$keys += array_keys(get_object_vars($entry));
print_r($keys);
我不滿意其他答案,所以我加我自己的。我認爲,最普遍的做法是:
$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
嗨,我有json文件即file.json我想以表格格式顯示數據,嘗試在這裏集成是代碼<?php $ json = file_get_contents(「file.json」); $ j = json_decode($ json); foreach($ j爲$ row) { foreach($ row as $ key => $ val) { echo $ key。 ':'。 $ VAL; echo'
'; } }以下是錯誤:警告:在第6行的/var/www/html/new_git/json.php中爲foreach()提供的無效參數 – rupesh