簡化從 foreach 印出對方的 json

這是對方回的 json 結構
https://img.mukewang.com/5c81ecb20001f2b508000522.jpg

這是我這邊如果要顯示時的寫法

<? foreach ($dataUserList->{'themes'} as $key) { ?>
          <? foreach ($key->{'theme-participants'} as $value) { ?>
            <?=$value->{'user-name'};?>
          <? } ?>
        <? } ?>

請問這有辦法不要用到兩個 foreach 嗎?有沒有簡易方式可以做到相同效果?


HUX布斯
浏览 440回答 2
2回答

慕桂英4014372

謝邀。有個小疑問,返回得到的json,為什麼不用json_decode($json,true);的形式得到數組,然後再對數組進行遍歷?然後第二個疑問:遍歷的時候,themes是會存在多個嗎?所以在外面先循環一層?第三個疑問:theme-participants 也是存在多個數組?就光看你這個返回的結構來判斷的話,我只知道是單個結構,好像不用兩個foreach遍歷都可以,但是具體的業務不太了解。你回答我上面的疑問后,我再繼續幫你解答。

绝地无双

谢邀看了评论,themes&nbsp;只会有一个,那就直接获取[0]即可$arr&nbsp;=&nbsp;json_decode($dataUserList,true);foreach&nbsp;($arr[0]['themes']['theme-participants']&nbsp;as&nbsp;$value) {&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$value['user-name']; }
打开App,查看更多内容
随时随地看视频慕课网APP