我有for
循环:
我有一个$request->photos
数组。该数组中的键为:
[1,3,5,8]
最后,我需要获得一个数组,其中索引从1到8,项是布尔变量。除此之外,我需要保存阵列中的照片。
然后我需要遍历数组并检查$i
是否等于$key
:
foreach($request->photos as $key => $photo) {
for($i = 1; $i < 9; $i++) {
if ($key == $i) {
dump($key);
$path = storage_path('app/public/images/' . $pdf->id . '-' . $key . '.png');
$image = Image::make($photo->getRealPath())->widen(300)->save($path);
$imagesArray[$i] = true;
break;
} else {
$imagesArray[$i] = false;
}
}
}
如果$key
等于$i
,我需要退出循环。但是在这种情况下,即使找到了break
,for
也不起作用,并且$key
循环仍会继续。
为什么会这样?
答案 0 :(得分:2)
for
循环是不必要的。只需使用$request->photos
的键作为填充$imagesArray
的键即可。
$imagesArray = array_fill(1, 8, false);
foreach ($request->photos as $key => $photo) {
dump($key);
$path = storage_path('app/public/images/' . $pdf->id . '-' . $key . '.png');
$image = Image::make($photo->getRealPath())->widen(300)->save($path);
$imagesArray[$key] = true;
}