Задать вопрос

Поиск по многомерному массиву на основе array_search?

Сделал поиск:
function array_search_recursive($needle, array $haystack){
	$out_index = array();
	$index     = array();
	
	foreach($haystack as $key => $value){
		if(is_array($value)){
			$out_index[] = $key;
			$out_index[] = array_search_recursive($needle, $value);
 		}
	}
	return (empty($out_index))? array_search($needle, $haystack) : $out_index;
}

Пример выполнения:
$arr = array('rest' => 1,
			 'lvl_one' => array(
							'lvl_two' => array(
											'lvl_three' => array('general' => 'mda'),
											'rest_two'  => 'mdo'),
							'rest_three'  => 'YO!'
							)
		);
echo '<pre>';
var_dump(array_search_recursive('mda',$arr));
echo '</pre>';


Результат:
array(2) {
  [0]=>
  string(7) "lvl_one"
  [1]=>
  array(2) {
    [0]=>
    string(7) "lvl_two"
    [1]=>
    array(2) {
      [0]=>
      string(9) "lvl_three"
      [1]=>
      string(7) "general"
    }
  }
}


Как исправить, подскажите пожалуйста?

Нужно чтобы результат был: одномерный массив вида:
lvl_one
lvl_two
lvl_three
general
  • Вопрос задан
  • 657 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы