我试图解析此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
你绝对正确。 –