Как я могу динамически изменять значения массивов в каждом цикле? - PullRequest
0 голосов
/ 08 сентября 2018

У меня есть данные в массиве, поэтому я пытаюсь динамически изменять значения массивов. Например, у меня есть $name[0] внутри цикла foreach.

Я хочу, чтобы оно автоматически составляло $name[1], $name[2], $name[3] в каждом цикле. Я использую Laravel Framework.

<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

Ответы [ 2 ]

0 голосов
/ 08 сентября 2018

Вы можете сохранить значение приращения переменной при прохождении через 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

это будет работать, но, кажется, тривиально, вы можете определить собственную директиву blade-сервера, реализующую ваше собственное правило в AppServiceProviders в Laravel. Официальная документация здесь .

0 голосов
/ 08 сентября 2018

пожалуйста, попробуйте это

@foreach($officials as $official)
               <tr>
                 <td>$loop->iteration</td>
                 <td>{{$official['name']}}</td>
                 <td>{{$official['post']}}</td>
                 <td>{{$official['address']}}</td>
                 <td>{{$official['father']}}</td>
                 <td>{{$official['grandfather']}}</td>
                 <td>{{$official['ctz']}}</td>
                 <td>{{$official['contact']}}</td>
               </tr>
               @endforeach
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...