Проверка многомерного массива

Вот функция проверки многомерного массива.

public static function inarray($search,$array,$key_=NULL)
{


if(is_array($array))
{

 if(!in_array( $search,$array))
 {
 foreach ($array as $key => $value) {

 Common::inarray($search, $value,$key);
 } 


 }
 else {
 return $key_;
 }
}
else {
 echo FALSE;
}


}

Эта функция не возвращает никаких значений, но работает.

1 ответ

Попробуйте эту функцию

function search_in_array($srchvalue, $array)
{
 if (is_array($array) && count($array) > 0)
 {
 $foundkey = array_search($srchvalue, $array);
 if ($foundkey === FALSE)
 {
 foreach ($array as $key => $value)
 {
 if (is_array($value) && count($value) > 0)
 {
 $foundkey = search_in_array($srchvalue, $value);
 if ($foundkey != FALSE)
 return $foundkey;
 }
 }
 }
 else
 return $foundkey;
 }
}

licensed under cc by-sa 3.0 with attribution.