Php 中json数组到ul li数组到字符串的转换
我有一个json数组,希望转换为ul li,但我得到错误:Php 中json数组到ul li数组到字符串的转换,php,json,Php,Json,我有一个json数组,希望转换为ul li,但我得到错误: $data = '[{ "sym": [{ "Cough" : [ { "title" : "Cough is", "options" : { "1" : "Dry", "2" : "Producing phlegm or sputum" } },{ "title":"Problem is", "options
$data = '[{
"sym": [{
"Cough" : [
{
"title" : "Cough is",
"options" : {
"1" : "Dry",
"2" : "Producing phlegm or sputum"
}
},{
"title":"Problem is",
"options" : {
"3" : "New or recent",
"4" : "Ongoing or recurrent",
"5" : "Worsening or progressing"
}
}
],
"Ear problems": [
{
"title" : "Triggered by",
"options" : {
"1" : "Change in air pressure",
"2" : "Injury or trauma"
}
}
]
}]
}]';
$json = json_decode($data, true);
我尝试的是:
foreach($json[0]['sym'][0] as $js){
foreach($js as $j){
echo "<li>". $j['title']."</li>";
}
}
foreach($json[0]['sym'][0]as$js){
foreach($js作为$j){
回声“”$j['title']。“ ”;
}
}
但它只是回显“title”,但我想这样回显嵌套:
- 咳嗽
- 咳嗽是
- 干的
- 咳痰
- 问题是
- 新的或最近的
- 持续的或经常性的
- 恶化或进展
- 耳朵问题
将foreach
替换为:
foreach($json[0]['sym'][0] as $js){
foreach($js as $j){
echo "<li>". $j['title'] . "<ul>";
foreach ($j['options'] as $opt) {
echo "<li>". $opt."</li>";
}
echo "</ul></li>";
}
}
foreach($json[0]['sym'][0]as$js){
foreach($js作为$j){
回声“”$j['title']。“”;
foreach($j['options']作为$opt){
回显“- ”$opt.
”;
}
回声“
”;
}
}
所以循环$j['options']
然后创建最里面的LI…?但这不是回显名称。@tourtravel您能告诉我上面的代码打印什么以及您希望它打印什么吗。您可以编辑您的问题并添加为以下更新。