我真的陷入了困境,試圖解決什麼應該很簡單。雖然循環與foreach
我有此
<?php
$json = json_decode('{
"33540116":
{"person":
{"name":"John", "age":"36"}},
"33541502":
{"person":
{"name":"Jack", "age":"23"}}
}
');
$id = array('33540116', '33541502');
foreach($id as $id) {
echo $json->$id->person->{'name'}. '<br />';
echo $json->$id->person->{'age'}. '<br />';
}
?>
因此代碼進行解碼的JSON字符串然後使用的foreach呼應每個結果。
這個json文件相當大,我只對某些記錄匹配存儲在mysql表中的id感興趣。
爲此,我用mysql select語句替換了上面的id數組字符串。
<?php
$json = json_decode('{
"33540116":
{"person":
{"name":"John", "age":"36"}},
"33541502":
{"person":
{"name":"Jack", "age":"23"}}
}
');
$result = mysql_query("SELECT id FROM people");
$row = mysql_fetch_array($result);
$id = array($row['id']);
foreach($id as $id) {
echo $json->$id->person->{'name'}. '<br />';
echo $json->$id->person->{'age'}. '<br />';
}
?>
雖然這個工程,它只會給我1結果。 我真正需要的是循環遍歷結果。 不幸的是,我不知道如何與foreach一起構造while循環。
我將非常感謝您的協助。
更新(額外問題)
謝謝大家。你幫我解決了這個問題。
但是,我還有一個問題涉及到這個問題。
我在上面提到我只是想回應結果。 但這並不完全正確。 我真正想要做的是用json文件中的結果更新相同的mysql表。
我有一個名爲字段id,名稱和年齡的人的表。
如何使用這些結果更新此表?
再次感謝。
謝謝gyus。有效。正如你所建議的,我最終放棄了這個習慣。 – jamester 2011-04-16 18:31:36