【问题标题】:Laravel - Blade; How to cycle through nested json objects with different top level titles, in a @foreach loopLaravel - 刀片;如何在@foreach 循环中循环遍历具有不同顶级标题的嵌套 json 对象
【发布时间】:2021-03-26 20:55:03
【问题描述】:

大多数语言都允许您循环遍历 json 对象,获取顶级名称。

object = {
    "a": {"inner json objects"},
    "b" : {"..."},
    "C" : {"..."}
}

例如在 html.twig 中的语法是这样的:

{% for title, section  in object %}
  // do something with title (ie. a, b, c)
  // do something (cycle through) with section(ie. '...')
{% endfor %}

我想在blade.php中做同样的事情。

我尝试了刀片语法的多种变体,例如

@foreach(json_encode($object) as $title) 

但我想不通,我在网上找不到任何合适的文档。 This stackoverflow question is the closest I could find.,但这不太合适,因为它没有规定我要从中抓取的对象

任何帮助将不胜感激。

【问题讨论】:

  • “功能”是什么意思?元素、属性?
  • 您好,为了更清楚,我已经编辑了这个问题。谢谢
  • foreach ($thing as $key => $value) ?以及为什么要调用 json_encode 将某些内容变成字符串... PHP 手册是您的朋友
  • 是的!谢谢,那行得通。 @foreach($theme as $title => $section)
  • 在那里写下它作为答案,如果你愿意,我会接受/投票。干杯

标签: php laravel laravel-blade


【解决方案1】:

您可能只是在寻找允许您定义键名的foreach 语法:

foreach ($something as $key => $value)

顺便说一下,Blade @foreach(...) 指令中 (...) 中的所有内容都只是普通的 PHP。

【讨论】:

    【解决方案2】:

    Two arrays in foreach loop

    这应该可以回答您的问题。您需要将它们组合起来,因为 PHP foreach 循环一次只循环一个数组。

    如果适合您的需要,您也可以使用嵌套循环。

    【讨论】:

    • 您不能将对象或数组作为键。
    猜你喜欢
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 2018-04-04
    • 2016-04-14
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    相关资源
    最近更新 更多