在数组中查找值

Nit*_*ish 1 php for-loop return

我用以下代码做错了什么?我想比较元素$my_id是否存在于数组中$arr.如果它存在返回TRUE否则返回FALSE.

for($i=0;$i<$cnt;$i++)
{
    if($arr[$i] == $my_id)
    {
        return TRUE;
    }
    else
    {
        return FALSE;
    }
}
Run Code Online (Sandbox Code Playgroud)

ale*_*lex 5

你可以用......替换它

return in_array($my_id, $arr);
Run Code Online (Sandbox Code Playgroud)

...假设FALSE如果第一个元素不匹配,你真的不想返回.

如果这实际上是你想要的,你可以使用......

return $arr[0] == $my_id;
Run Code Online (Sandbox Code Playgroud)

如果您希望保持代码大部分完好无损,只需将其return FALSE移至循环体外部即可.