我知道这可能很简单,但我无法弄清楚我哪里出错了。基本上我有2个静态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,即使它不应该尽我所能。
感谢任何帮助!
答案 0 :(得分:1)
PHP可能认为$arr2.$arr1
是串联的:
if (Input::has($arr2.$arr1)){
array_push($testArray, $arr1);
}
尝试使用点符号
if (Input::has("{$arr2}.{$arr1}")){
array_push($testArray, $arr1);
}
答案 1 :(得分:0)
实际上,我想出来了!
如果你碰到这样的事情,不要像我一样陷入那个循环中,看一个或两个更高的循环。我没有在这个循环中初始化我的变量,但另一个循环并没有意识到它几个小时......