我知道这可能很简单,但我不知道哪里出了问题。本质上,我有两个静态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);
}
实际上,我想明白了!
如果你遇到这样的事情,不要像我一样陷入那个循环,看起来要高出一两个循环。我没有在这个循环中初始化我的变量,而是在另一个循环中初始化,几个小时都没有意识到。。。