#php #laravel #foreach #laravel-blade
#php #laravel #foreach #laravel-блейд
Вопрос:
Из Ziparchive требуется name
и size
файлов в Zip-файле. Проблема для меня в том, как можно добавить name
и size
в таблицу в представлении блейда.
controller
:
$ziparchive = new ZipArchive();
$ziparchive->open($fileName);
$filenames = [];
$filesizes = [];
if(!empty($ziparchive)){
for( $i = 0; $i < $ziparchive->numFiles; $i ){
$stat = $ziparchive->statIndex( $i );
$filenames[]= basename( $stat['name'] ) . PHP_EOL;
$filesizes[]= basename( $stat['size'] );
return view('view',["filenames"=>$filenames,"filesizes"=>$filesizes]);
dd($filenames, $filesizes)
возвращает два массива:
1.png
2.png
3.png
4.png
10
12
13
796
в view.blade.php
@foreach($filenames as $filename )
@foreach($filesizes as $filesize)
<tr>
<td>{{$filename}}</td>
<td>{{$filesize}}</td>
</tr>
@endforeach
@endforeach
верните в таблицу это:
1.png 10
1.png 12
1.png 13
1.png 796
2.png 10
2.png 12
2.png 13
....
чего мне не хватает?
Ответ №1:
попробуйте это
@foreach($filenames as $key => $filename )
<tr>
<td>{{ $filename }}</td>
<td>{{ $filesizes[$key] ?? "" }}</td>
</tr>
@endforeach
поскольку оба $filenames
и $filesizes
один и тот же индекс имеют одинаковое значение, поэтому вы можете использовать index для получения значения из $filesizes[index]