Laravel Eloquent Collectionの各メソッドを使用して中断または続行する方法。私のコードは次のとおりです。
$objectives->each(function($objective) {
Collection::make($objective)->each(function($action) {
Collection::make($action)->each(function($success_indicator) {
Collection::make($success_indicator)->each(function($success_indicator) {
echo 'hi';
continue;
});
});
});
});
continue
を実行するには、内部関数からreturn
を取り出します。 break
さん、.
Laravel 5.1+を使用している場合は、false
を返してループを解除できます。
$objectives->each(function($objective) {
collect($objective)->each(function($action) {
collect($action)->each(function($success_indicator) {
collect($success_indicator)->each(function($success_indicator) {
if ($condition) return false;
});
});
});
});
古いバージョンのLaravelの場合、通常のforeach
ループを使用します。
$objectives->each(function($objective) {
foreach ($objective as $action) {
foreach ($action as $success_indicators) {
foreach ($success_indicators as $success_indicator) {
echo 'hi';
break;
}
}
}
});
true/falsetrue
for continue
、false
for break
を返すことができます
続行:
collect([1,2,3,4])->each(function ($item){
if ($item === 2) {
return true;
}
echo $item;
});
出力: 1 3 4
休憩:
collect([1,2,3,4])->each(function ($item){
if ($item === 2) {
return false;
}
echo $item;
});
出力: 1