我試圖解析此JSON字符串解析JSON字符串與多個陣列
$json = {"fields":{
"relationshipStatus":[{"fieldId":4,"name":"Committed"},{"fieldId":2,"name":"Dating"},{"fieldId":6,"name":"Engaged"},{"fieldId":3,"name":"Exclusive"},{"fieldId":7,"name":"Married"},{"fieldId":8,"name":"Open Relationship"},{"fieldId":5,"name":"Partnered"},{"fieldId":1,"name":"Single"}],
"ethnicity":[{"fieldId":1,"name":"Asian"},{"fieldId":2,"name":"Black"},{"fieldId":3,"name":"Latino"},{"fieldId":4,"name":"Middle Eastern"},{"fieldId":5,"name":"Mixed"},{"fieldId":6,"name":"Native American"},{"fieldId":8,"name":"Other"},{"fieldId":9,"name":"South Asian"},{"fieldId":7,"name":"White"}],
}}
使用此foreach循環,最終我想能夠採取的數據,並把它們作爲一個選擇/列表下拉列表形成。
foreach($json['fields'] as $item){
foreach($item['relationshipStatus'] as $relationship){
echo $relationship['name'] . " " . $relationship['fieldId'] . "<br/>";
}
foreach($item['ethnicity'] as $ethnicity){
echo $ethnicity['name'] . " " . $ethnicity['fieldId'] . "<br/>";
}
}
不管我如何努力拉出來的數據,我不斷收到類似的錯誤:
注意:未定義指數:relationshipStatus在 /Applications/MAMP/htdocs/updateprofile.php上線126警告: /Applications/MAMP/htdocs/updateprofile.php爲的foreach()提供在線126
我在做什麼錯 無效的參數?
描述如果pretty-打印json(即使用jsonlint.com),你會發現數組實際位於'$ json ['fields'] ['relationshipStatus']'下面,而不是在$ json ['fields']'的下面,如你的代碼。 – JimL
你絕對正確。 –