首页 > 解决方案 > 如何在每个循环中动态更改数组的值?

问题描述

我将数据放在一个数组中,所以我试图动态更改数组的值。例如,我有$name[0]内部 foreach 循环。

我希望它在每个循环中自动成为$name[1], 。我正在使用 laravel 框架。$name[2]$name[3]

<tr>
 <td>Sn</td>
 <td>Name</td>
 <td>post</td>
 <td>Address</td>
 <td>father</td>
 <td>Grandfather</td>
 <td>Ctz no</td>
 <td>Contact</td>
</tr>
<?php $i = 1 ?>
@foreach($officials as $official)
<tr>
 <td>$i++</td>
 <td>{{$name[0]}}</td>
 <td>{{$post[0]}}</td>
 <td>{{$address[0]}}</td>
 <td>{{$father[0]}}</td>
 <td>{{$grandfather[0]}}</td>
 <td>{{$ctz[0]}}</td>
 <td>{{$contact[0]}}</td>
</tr>
@endforeach

标签: phparrayslaravel

解决方案


您可以在通过 foreach 时保持变量的增量值

            <tr>
             <td>Sn</td>
             <td>Name</td>
             <td>post</td>
             <td>Address</td>
             <td>father</td>
             <td>Grandfather</td>
             <td>Ctz no</td>
             <td>Contact</td>
           </tr>
           @php 
            $i = 0;
           @endphp
           @foreach($officials as $official)
           <tr>
             <td>@php echo $i; @endphp</td>
             <td>@php echo $name[$i]; @endphp</td>
             <td>@php echo $post[$i]; @endphp</td>
             <td>@php echo $address[$i]; @endphp</td>
             <td>@php echo $father[$i]; @endphp</td>
             <td>@php echo $grandfather[$i]; @endphp</td>
             <td>@php echo $ctz[$i]; @endphp</td>
             <td>@php echo $contact[$i]; @endphp</td>
           </tr>
           @php
             $i++;
           @endphp
           @endforeach

这将起作用,但似乎微不足道,您可以定义一个自定义刀片指令,在 Laravel 的 AppServiceProviders 中实现您自己的规则。官方文档在这里


推荐阅读