PHP foreach循环:在匹配特定条件后再循环一次
我正在使用laravel,并尝试使用foreach循环获取一个数组的值,然后再获取另一个值。我想知道解决这个问题的最佳做法是什么。到目前为止我已经试过了PHP foreach循环:在匹配特定条件后再循环一次,php,laravel,Php,Laravel,我正在使用laravel,并尝试使用foreach循环获取一个数组的值,然后再获取另一个值。我想知道解决这个问题的最佳做法是什么。到目前为止我已经试过了 $problems = $request->session()->get('problems'); $i = 0; foreach ($problems as $prob) { $problem = $prob; if($request->problem_id == $prob->id){
$problems = $request->session()->get('problems');
$i = 0;
foreach ($problems as $prob) {
$problem = $prob;
if($request->problem_id == $prob->id){
return 'Matched';
die();
}
$i++;
}
把你的钱换成那样
$shouldQuit = false;
foreach ($problems as $prob) {
$problem = $prob;
if($shouldQuit)
break;
if($request->problem_id == $prob->id){
$shouldQuit = true;
}
}
把你的钱换成那样
$shouldQuit = false;
foreach ($problems as $prob) {
$problem = $prob;
if($shouldQuit)
break;
if($request->problem_id == $prob->id){
$shouldQuit = true;
}
}
尽管@Lucarnosky代码可以工作,但有一种更快的方法来处理这个问题
$problems = array_flip($request->session()->get('problems'));
if(key_exists($request->problem_id, $problems) return 'matched';
return 'problem not found';
尽管@Lucarnosky代码可以工作,但有一种更快的处理方法
$problems = array_flip($request->session()->get('problems'));
if(key_exists($request->problem_id, $problems) return 'matched';
return 'problem not found';
因此,在一个类似
[1,2,3,4]
的数组中,如果您有值3,则需要第四个元素?旁注:您可以移除模具()代码>。因为前面有一个返回值
,所以它永远不会被触发。@Sérgio是的,没错!因此,在一个类似[1,2,3,4]
的数组中,如果值为3,则需要第四个元素?旁注:您可以删除die()代码>。因为前面有一个返回值
,所以它永远不会被触发。@Sérgio是的,没错!谢谢,正是我想要的@NooglersBIT很高兴听到这个消息,别忘了在答案处标记这个。你可能只需要返回或打断if语句,现在它将在匹配完成后再继续一个循环。谢谢,这正是我想要的@NooglersBIT很高兴听到这个消息,不要忘了在答案处标记这个。您可能只需要返回或中断if语句,现在它将在匹配完成后再继续一个循环。