Laravel输入::始终返回true


Laravel Input::has always returning true

我知道这可能很简单,但我不知道哪里出了问题。本质上,我有两个静态php数组:

$array1 = array('Apple', 'Orange');
$array2 = array('Purple', 'Green', 'Yellow');
foreach ($array2 as $arr2){
    foreach ($array1 as $arr1){
        if (Input::has($arr2.$arr1)){
            array_push($testArray, $arr1);
        }
    }  
}

$testArray的输出显示Input::has的输出是输入数量的两倍。因此,如果我选择所有可能的输入(即5),它将输出每个输入两次,总计10个值。这让我相信Input::has每次都在评估为true,尽管它不应该是我所能说的。

感谢您的帮助!

PHP可能认为$arr2.$arr1是一个级联:

if (Input::has($arr2.$arr1)){
    array_push($testArray, $arr1);
}

试着在你的点符号中使用这个:

if (Input::has("{$arr2}.{$arr1}")){
    array_push($testArray, $arr1);
}

实际上,我想明白了!

如果你遇到这样的事情,不要像我一样陷入那个循环,看起来要高出一两个循环。我没有在这个循环中初始化我的变量,而是在另一个循环中初始化,几个小时都没有意识到。。。