问题:当$Current与所有$subs不匹配时插入$Current。
foreach ($array1 as $index=>$Current){
foreach ($array2 as $key=>$subs){
echo "'nCurrent: ".$Current; //get current
echo "'nsubs: ".$subs; //get subs
if ($Current== $subs){
echo "'n++++++'n";
} else{
echo "'n====='n";
$sql = "INSERT INTO `#__table` (user_id, cat_id, subs) VALUES (".$userid.",".$other_array [$index].",".$Current.")";
echo "'n".$sql;
}
}
}
实际输出为:
Current: 1
subs: 9
=====
INSERT INTO `#__table` (user_id, cat_id, subs) VALUES (1,1,1)
Current: 1
subs: 11
=====
INSERT INTO `#__table` (user_id, cat_id, subs) VALUES (1,1,1)
Current: 1
Subs: 1
+++++
我的预期输出应该是执行 比较当前和子不同后插入sql。 这可能像:
Current: 1
subs: 9
=====
Current: 1
subs: 11
=====
Current: 1
Subs: 1
+++++
// EXECUTE THIS AFTER COMPARING ALL Current and subs ***
INSERT INTO `#__table` (user_id, cat_id, subs) VALUES (1,1,Current)
那么我应该如何为 foreach 循环编写呢?还是我不应该使用foreach?
请帮忙。谢谢。
如果我理解正确,您希望遍历$Current,如果$Current$subs中不存在,您希望将其插入到数据库中。
尝试使用 in_array
函数,如下所示:
foreach ($array1 as $index=>$Current){
if (!in_array($Current, $array2))
echo "'n====='n";
$sql = "INSERT INTO `#__table` (user_id, cat_id, subs) VALUES (".$userid.",".$other_array [$index].",".$Current.")";
echo "'n".$sql;
}
}