$data = json_decode($json,true);
echo $json;
當我使用json_decode我得到一個JSON樹是這樣的:PHP的JSON解碼問題
[
"name",
[
"jason",
"carl",
"simpson",
"crew",
"marx"
]
]
那麼,我該如何使用foreach
把所有的名字值?
$data = json_decode($json,true);
echo $json;
當我使用json_decode我得到一個JSON樹是這樣的:PHP的JSON解碼問題
[
"name",
[
"jason",
"carl",
"simpson",
"crew",
"marx"
]
]
那麼,我該如何使用foreach
把所有的名字值?
像這樣:
<?php
$json = <<<JSON
[
"name",
[
"jason",
"carl",
"simpson",
"crew",
"marx"
]
]
JSON;
$data = json_decode($json);
foreach($data[1] as $name) {
echo "$name\n";
}
?>
輸出:
$ php test.php
jason
carl
simpson
crew
marx
編輯
基本的json數據是一個數組,其中$data[0]
是值的名稱,$data[1]
是具有名稱的子數組你想
$ data變量現在包含一個2維數組。 如果你想獲得的所有名稱的數組,你說
$names=$data['name'];
foreach ($data[1] as $name_value) {
// do something with $name_value
}
如果它總是相同的結構,你可以只在$data[1]
循環。
但它看起來像是某種關鍵字前綴結構。然後爲了可靠性我會用:
$key = array_search("name", $data);
if ($key !== FALSE)
foreach ($data[$key + 1] as $name) {
print $name;
}
你從哪裏得到那個指數? – poke 2011-05-29 23:17:01
該索引應該是'name'不是名字,現在將編輯該名稱。但它是與名稱數組關聯的json數據內的索引。 – bigblind 2011-05-29 23:20:08
它不是一個名稱數組,它是一個數字索引數組。要將名稱與數組關聯起來,json必須看起來像這樣:'{'name':[]}' – 2011-05-29 23:22:54