如何在 Laravel Blade 中循环多维数组

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/44485837/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-14 16:07:09  来源:igfitidea点击:

How to loop multidimensional array in laravel blade

phparrayslaravel

提问by Manjunarth

        array:3 [▼
                "name" => array:3 [▼
                              0 => "user2"
                              1 => "user3"
                              2 => "user4"
                                 ]
                "email" => array:3 [▼
                              0 => "[email protected]"
                              1 => "[email protected]"
                              2 => "[email protected]"
                                  ]
                "phone_number" => array:3 [▼
                              0 => "90352065"
                              1 => "69856352"
                              2 => "903520658"
                                  ]
              ]

I'm getting above response from multiple text boxes now I need to loop in view, so How to loop above arrays in view??

我得到了来自多个文本框的响应,现在我需要在视图中循环,那么如何在视图中循环上面的数组?

how can I display above array values like in below format

我怎样才能像下面的格式一样显示上面的数组值

       User2 details
             name  : user2
             email : [email protected]
             phone_number : 90352065
       User3 details
             name  : user3
             email : [email protected]
             phone_number : 69856352 
       User4 details
             name  : user4
             email : [email protected]
             phone_number : 903520658

回答by Bart?omiej Sobieszek

kind of

的种类

@foreach($nameArray as $index => $nameArrayElement)     
    <tr>
        <td>{{ $mainArray['name'][$index] }}</td>       
        <td>{{ $mainArray['email'][$index] }}</td>      
        <td>{{ $mainArray['phone_number'][$index] }}</td>   
    </tr> 
@endforeach

Take in mind that the number of names are equal to the number of rows

请记住,名称的数量等于行数

回答by Akshay Khale

I presume below is your array structure

我认为下面是你的数组结构

$original_array = [
  "name" => [
      "user2","user3","user4"
  ],
  "email" => [
      "[email protected]","[email protected]","[email protected]"
  ],
  "phone_number" => [
    "90352065","69856352","903520658"
  ]
];

now to get desired output you can use below code

现在要获得所需的输出,您可以使用以下代码

<dl>
@foreach($original_array['name'] as $key => $name)
  <dt>{{ $name }} Details</dt>
  <dd>
    <ul>
      <li>Name: {{ $name }}</li>
      <li>Email: {{ $original_array['email'][$key] }}</li>
      <li>Phone Number: {{ $original_array['phone_number'][$key] }}</li>
    </ul>
  </dd>
@endforeach
</dl>

回答by Lu32

In laravel I would use this approach to recurse a nested array in blade:

在 laravel 中,我会使用这种方法来递归刀片中的嵌套数组:

<ul>
@forelse($elements as $key => $item)
    <li>
    @if(is_array($item))
        <strong>{{ $key }}: </strong>
        @include('admin.payments.confirmation-data', ['elements' => $item, 'parentKey' => $key])
    @else
        <strong>{{ $key }}: </strong><span>{{ $item }}</span>
    @endif
    </li>
@empty
    <li>
        <strong>yay {{ $parentKey }}</strong>:<span>[]</span>
    </li>
@endforelse
</ul>