PHP-in_数组无法按预期工作

PHP-in_数组无法按预期工作,php,arrays,function,Php,Arrays,Function,虽然我对PHP有相当丰富的经验,但最近我遇到了这个让我发疯的问题 这个代码有什么问题?为什么$basket数组末尾有重复项? 在我的实际程序中,我们需要的$we_是从数据库中获取的,但它不是多维数组,也不是值中的新行。 我知道这种方法可以使用array_unique,但我想知道问题出在哪里?缺少右括号 foreach ($we_need as $product) { // Add product to basket ONLY if it's not already there

虽然我对PHP有相当丰富的经验,但最近我遇到了这个让我发疯的问题

这个代码有什么问题?为什么$basket数组末尾有重复项? 在我的实际程序中,我们需要的$we_是从数据库中获取的,但它不是多维数组,也不是值中的新行。
我知道这种方法可以使用array_unique,但我想知道问题出在哪里?

缺少右括号

foreach ($we_need as $product) {

    // Add product to basket ONLY if it's not already there
    if (!in_array($product, $basket)) {
        $basket[] = $product;
    } else {
        echo "For debugging: Duplicate detected, so skipped.\n";
    } // <<<------- here
}

foreach loopin_数组或is_数组缺少一个}?对PHP很有经验吧?!!我不知道你是否想知道问题在哪里?我想知道,不要说它缺少大括号,因为它不是,原始代码非常好,不起作用。我担心的问题是我的服务器上的PHP?如果我的原始代码中确实缺少括号,这将是答案。感谢您对其进行测试。除了我之外,代码似乎适用于所有人,所以我得出结论,问题一定出在我的服务器上的PHP安装上。你的答案并不能解决这个问题,它也没有,但是如果没有帮助的话,它会帮助其他人看到代码的工作版本和我的评论。
foreach ($we_need as $product) {

    // Add product to basket ONLY if it's not already there
    if (!in_array($product, $basket)) {
        $basket[] = $product;
    } else {
        echo "For debugging: Duplicate detected, so skipped.\n";
    } // <<<------- here
}
For debugging: Duplicate detected, so skipped. 
Array ( [0] => Carrot [1] => Onion [2] => Milk [3] => Potato )