更快速地查看数组是否包含指定值之外的值

I have an array where each element has a subarray with multiple Ids. When looping through the array, I'd like to check if the subarray has any elements besides a given one.

For example, I'd like to echo 'Yes' whenever one of the subarrays has any ids other than 'TESTID'.

I can do this by looping through the subarray, but I'd like to know of a way that doesn't require double loops.

Here's the current code:

foreach ($elements as $element) {
    ...

    if (besidesInArray('TESTID',$element['ids'])) {
        //operations
    } else {
        //element only has 'TESTID'
    }

...
}
...

function besidesInArray($needle, $haystack) {
    foreach ($haystack as $hay) {
        if($hay != $needle) {
            return TRUE;
        }
    }

    return FALSE;
}

While this code works, I'd like to see if there's a more elegant solution.

You can use in_array() function to achieve this

foreach($array as $key => $subarray)
{
    if(in_array("TESTID", $subarray))
    {
        //found
    } else {
       //not found
    }
}

preg_grep for TESTID but invert the grep so that it returns entries NOT matching.

foreach($array as $subarray) {
    if(preg_grep("/TESTID/", $subarray, PREG_GREP_INVERT)) {
        echo 'Yes'; //others found
    }
}

TESTID could be a var instead. Man I love some preg_grep!

  find = implode(')|(',$mypatternarray);
   find.="(".find.")";

foreach($subarray as $subar){
        if(preg_match("find",$subar)>0)){
        echo "id found";
        }

}