如何通过 Laravel 刀片在数组内打印数组?

Posted

技术标签:

【中文标题】如何通过 Laravel 刀片在数组内打印数组?【英文标题】:How to print arrays inside array by Laravel blade? 【发布时间】:2015-09-15 16:46:02 【问题描述】:

我的函数将数组返回到 laravel 刀片页面中的变量,如下所示:

Array
(
    [id] => 1
    [name] => Enterpise
    [children] => Array
        (
            [0] => Array
                (
                    [id] => 2
                    [name] => name1
                    [children] => Array
                        (
                            [0] => Array
                                (
                                    [id] => 5
                                    [name] => name2
                                    [children] => 
                                )

                            [1] => Array
                                (
                                    [id] => 6
                                    [name] => name3
                                    [children] => Array
                                        (
                                            [0] => Array
                                                (
                                                    [id] => 11
                                                    [name] => name4
                                                    [children] => 
                                                )

                                                               .....

现在我想使用foreach 之类的东西在我的页面中打印这些值。考虑到没有指定他们孩子的数字,在我的函数内部不可能做到这一点。在刀片中完成对我来说很重要。我该怎么做?

【问题讨论】:

【参考方案1】:

在您的刀片文件中,您可以使用任何 php 函数,例如 print_r()

示例:

 print_r($array) 

【讨论】:

dd() 是 laravel 提供的通用函数,你可以像刀片中的原生 php 函数一样使用。 dd($array) laravel-news.com/laravel-5-dd-gets-upgrade.【参考方案2】:

因为这是一个非常古老的问题,但我发现json 指令非常有用。

<pre>
    <code>
        @json($array);
    </code>
</pre>

【讨论】:

【参考方案3】:

您可以在这里找到解决问题的方法:

https://laracasts.com/discuss/channels/general-discussion/passing-arrays-to-blade-and-iterating

或者你可以使用: echo json_encode($yourarray)

但这会将您的数组打印为 json 编码字符串。

【讨论】:

【参考方案4】:

你可以使用 PHP 指令

@php
 echo "<pre>";
   print_r($array);
 echo "</pre>";
@endphp

【讨论】:

【参考方案5】:

我总是使用这种干净简单的解决方案,它使用 JSON 以格式良好的方式输出您的数组:

<pre><code> json_encode($array, JSON_PRETTY_PRINT) </code></pre>

如果您希望 JSON_PRETTY_PRINT 显示在单行上,可以删除它:

<pre><code> json_encode($array) </code></pre>

【讨论】:

【参考方案6】:

最好的输出和更少的代码有 print_r() :

<pre>
    print_r($array)
</pre>

【讨论】:

以上是关于如何通过 Laravel 刀片在数组内打印数组?的主要内容,如果未能解决你的问题,请参考以下文章

在刀片中显示 laravel DB::select 数组

Laravel - 如何将数组提取到变量并在刀片中使用它们

Laravel 刀片数组 foreach 循环

Laravel - 将部分会话内容添加到数组中

在 Laravel 中使用刀片模板在 php 标签内打印 JavaScript 变量值

Laravel - 如何在视图中创建(匿名)动态刀片组件