我有我的嵌套的foreach循环的问题,我有我的控制器的代码检索我的数据库中单独的表中的两列的值。嵌套的foreach循环,用php和laravel
我想是每个值对其他表反之亦然比较,...
table1 table2
some column1 some column2
a b
b b
c c
我所需的输出是,如果两列的值进行比较,如果是真的,那么输出“比赛“否则”不匹配“。
在这里尝试,但它不起作用,只有两个表列中的最后一项正在进行比较。我想我失去了我的嵌套循环。
///片断///
控制器
$temp_answers = array();
$answers = array();
$temp_answers = Tempanswer::where('subject_id', $subject_id)
->where('student_id', $student_id)
->lists('temp_answer');
$answers = Question::where('subject_slug', $subject->slug)
->lists('letteranswer');
foreach ($temp_answers as $temp_answer) {
foreach ($answers as $answer) {
if($answer == $temp_answer){
$flag = 'match';
}else
$flag = 'mismatch';
}
echo $flag.' ';
}
'$ flag'变量覆盖每个'foreach'迭代。使用数组来存储标志 –
将'$ flag ='match';'改成简单的'echo'匹配';'对'mismatch'也做这个并且放弃'echo $标志;'如果你用合理的布局代码如上所述的缩进,错误变得非常容易看到 – RiggsFolly
它是用于调试porpuses,实际上不是真正的分数,我的透视表我想插入一些基于嵌套循环的结果 –