If you only want to find out if a certain value exists and nothing else, this is trivial using recursive iterators:
$found = false;
foreach (new RecursiveIteratorIterator(new RecursiveArrayIterator($array)) as $value) {
if ($value == 'theValueImLookingFor') {
$found = true;
break;
}
}
It's not much more complex to write this up in a recursive function:
function recursive_in_array($array, $needle) {
foreach ($array as $value) {
$isIterable = is_object($value) || is_array($value);
if ($value == $needle || ($isIterable && recursive_in_array($value, $needle))) {
return true;
}
}
return false;
}