Laravel Blade:如何在视图中循环多维数组?

问题描述

我有以下数组,我想将它作为 HTML 表格放入 Laravel Blade 中。

array:2 [▼
      0 => array:6 [▼
        "room" => "401"
        "landmark" => "Main Building"
        "capacity" => 60
        "faculty" => array:4 [▼
          0 => "DMSM"
          1 => "DMSM"
          2 => ""
          3 => "DMSM"
        ]
        "department" => array:4 [▼
          0 => "BSH"
          1 => "BSH"
          2 => ""
          3 => "BSH"
        ]
        "course" => array:4 [▼
          0 => "PHY 101"
          1 => "PHY 101"
          2 => "Free"
          3 => "PHY 101"
        ]
      ]
      1 => array:6 [▼
        "room" => "504"
        "landmark" => "Main Building"
        "capacity" => 50
        "faculty" => array:4 [▼
          0 => ""
          1 => ""
          2 => "DMSM"
          3 => ""
        ]
        "department" => array:4 [▼
          0 => ""
          1 => ""
          2 => "BSH"
          3 => ""
        ]
        "course" => array:4 [▼
          0 => "Free"
          1 => "Free"
          2 => "PHY 101"
          3 => "Free"
        ]
      ]
    ]

我从多个表中得到上述响应,现在我需要在视图中循环,那么如何在视图中循环上述数组??

如何以下面的格式显示上述数组值?

Expected HTML table

解决方法

没什么特别的,只是作为一个普通数组工作,并在主循环内使用另一个循环来获取内部尺寸

您的数组如下所示。

enter image description here

我只是在如下所示的控制器中循环您的数组

 $array_values = [
        [
            "room" => "401","landmark" => "Main Building","capacity" => 60,"faculty" => [
                "DMSM","DMSM","",],"department" => [
                "BSH","BSH","course" => [
                "PHY 101","PHY 101","Free",]
        ],[
            "room" => "504","capacity" => 50,"faculty" => [
                "","department" => [
                "","course" => [
                "Free",]
        ]
    ];


    foreach ($array_values as $values) {
        echo '<br>'; // just a break to show output
        foreach ($values as $key => $value) {
            if (is_array($value)) { // check is value is an array which
                echo $key . ' are : ';
                foreach ($value as $val) {
                    echo $val . ' / ';
                }
            }
            echo $value . '<br>';

        }
        echo '<br><br>';
    }

上面的代码会输出类似下面的内容

enter image description here

你在blade中要做的事情与此类似

 @foreach ($array_values as $array)
    
    
    @foreach($values as $key => $value)
    
      @if (is_array($value))

         @foreach ($value as $val) 

               {{$val}}

         @endforeach
                
      @endif

       {{$value}}
    
   @endforeach

 @endforeach
,

解决方案 终于找到解决办法了。

<table>
@foreach($slot_wise_routine as $routine)
    <tr>
        <td>{{ $routine['landmark'] }}</td>
        <td>{{ $routine['room'] }}</td>
        <td>{{ $routine['capacity'] }}</td>
        @foreach($routine['course'] as $key => $course)
            <td>
                {{ $course }} <br> {{ $routine['faculty'][$key] }} <br> {{ $routine['department'][$key] }}
            </td>
        @endforeach
    </tr>
@endforeach

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...