Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php foreach循环返回问题_Php_Loops_Foreach - Fatal编程技术网

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