簡化從 foreach 印出對方的 json

发布于 2022-09-11 17:49:09 字数 435 浏览 21 评论 0

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

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

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心作怪 2022-09-18 17:49:09

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

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

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

心奴独伤 2022-09-18 17:49:09

谢邀

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

$arr = json_decode($dataUserList,true);
foreach ($arr[0]['themes']['theme-participants'] as $value)
{
    echo $value['user-name'];
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文