Php foreach循环返回问题
嗨,我写了一个在数组中查找的函数,但是当循环查找匹配的东西时,它不工作,它不重新调整真值检查到最后,有什么想法吗Php foreach循环返回问题,php,loops,foreach,Php,Loops,Foreach,嗨,我写了一个在数组中查找的函数,但是当循环查找匹配的东西时,它不工作,它不重新调整真值检查到最后,有什么想法吗 function findinArray($find,$array){ foreach($find as $key => $value){ if (in_array($find,$array)) { return true; }else{ return false; }
function findinArray($find,$array){
foreach($find as $key => $value){
if (in_array($find,$array)) {
return true;
}else{
return false;
} }
}
if(findinArray(array("a","b"),array("a")){
echo "Match";
}
谢谢它应该在数组($value,$array)中。但是你可以只做
count(array\u intersect())
你在中传递数组的第一个参数,它应该是值
换成
function findinArray($find,$array){
foreach($find as $key => $value){
if (in_array($value,$array)) {
return true;
}
return false;
}
}
一个函数只能返回一次,因此您的函数总是在第一次迭代时返回。如果希望在第一次匹配时返回true,如果未找到匹配项,则返回false,请尝试以下版本
function findinArray($find, $array) {
foreach ($find as $value) {
if (in_array($value, $array)) {
return true;
}
}
return false;
}
if (findinArray(array("a","b"), array("a")) {
echo "Match";
}
(您在如何使用foreach中的值时也犯了错误,并且忘记了一个}
)函数应该做什么?找到的条件是什么?这就是我需要的谢谢是的,有错误,但这是在这里发布时累积的我现在知道了你的函数根本不使用$array。如果第一次迭代不匹配,它将始终返回false