簡化從 foreach 印出對方的 json

這是對方回的 json 結構
clipboard.png

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

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

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

阅读 4.1k
2 个回答

谢邀

看了评论,themes 只会有一个,那就直接获取[0]即可

$arr = json_decode($dataUserList,true);
foreach ($arr[0]['themes']['theme-participants'] as $value)
{
    echo $value['user-name'];
}

謝邀。
有個小疑問,返回得到的json,為什麼不用json_decode($json,true);的形式得到數組,然後再對數組進行遍歷?
然後第二個疑問:遍歷的時候,themes是會存在多個嗎?所以在外面先循環一層?
第三個疑問:theme-participants 也是存在多個數組?

就光看你這個返回的結構來判斷的話,我只知道是單個結構,好像不用兩個foreach遍歷都可以,但是具體的業務不太了解。

你回答我上面的疑問后,我再繼續幫你解答。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题