在Foreach数组PHP中插入If-Else

在Foreach数组PHP中插入If-Else,php,arrays,joomla,foreach,Php,Arrays,Joomla,Foreach,问题:在$Current与所有$sub不匹配时插入$Current foreach ($array1 as $index=>$Current){ foreach ($array2 as $key=>$subs){ echo "\nCurrent: ".$Current; //get current echo "\nsubs: ".$subs; //get subs if ($Current==

问题:在$Current与所有$sub不匹配时插入$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
+++++
我的预期输出应该是在比较当前和SUB不同之后执行Insert 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,如果$subs中不存在$Current,您希望将其插入数据库

尝试使用
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;
    }
}

你可能想重新考虑一下你的问题,我不知道你在问什么。为什么这是预期的输出?@castis我需要在完成2个数组的所有比较后执行insert sql。如果按照实际输出,那么它会多次插入相同的记录。啊,对不起,我以为我已经正确地解释了这个问题。为了澄清,您希望它循环遍历所有$Current和所有$sub,如果它找到匹配项,则在最后执行一次插入?我希望是循环遍历$Current和所有$sub,如果匹配->不执行任何操作;else->在末尾插入$Current。您可以参考我的预期输出,我将$Current与所有$sub进行比较,最后插入$Current。您会发现,如果循环遍历$array2,它总会找到一个不匹配的实例(假设$array1或$array2有多个值)。尝试使用
in_array
功能。我已经编辑了这篇文章,以便在_数组中使用。