PHP уроки
ПРОСТО самая лучшая обучалка PHP!
  • Студия LPHPRU
  • Уроки PHP
  • Контакты
  • Помощь
Меню
  • PHP - с чего начать?
  • Уроки PHP
  • Функции PHP
  • Массивы
  • Denwer
  • MySQL
  • Информация
  • Dreamweaver уроки
  • JQuery уроки
  • Галерея
Календарь
Апрель (2021)
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
2627282930  
В продаже

  • Что нового?

    • Тест №2
    • Тест №1 для разработчиков
    • PHP 5.6 RC1
    • SQL. Как cкопировать данные одной колонки в другую, в той же таблице
    • GRUB изменить порядок загрузки OS в Linux
    • SSH - вход на сервер без ввода пароля
    • PhpMyAdmin - проблема с загрузкой большого файла на сервер
  • Комментарии

    • тут нечего не понятно
    • Может уже пора на WebStorm переходит...
    • Здравствуйте. 10 лет пользуюсь др...
    • Была такая проблема, решалась пе...
    • Возможно с течением времени этот...
  • TOP-5

    • Метод POST (2940402)
    • Привет, МИР! (907353)
    • Метод GET (662403)
    • Операторы (602295)
    • Firefox уже запущен, но не отвечает... (347604)

Рекурсивный спуск. Рекурсивный обход массива.

Главная » Массивы » Рекурсивный спуск. Рекурсивный обход массива.
PHP урок № 343

Рекурсия или рекурсивный обход массива.

Что такое рекурсия в принципе, можно ознакомиться в уроке Рекурсивный метод вызова функций., а в этом уроке, я хотел бы представить функцию, которая с помощью этой самой рекурсии выводит все данные на монитор. Причём вложенность любая, а вывод, может быть ограничен лишь памятью сервера и характеристиками железа.

Листинг № 1 - Рекурсивный обход массива.

<?php 
// массив Машины 
$m = array('Honda','Hammer','BMW','Toyota'); 

// массив Самолёты 
$s = array('AH','TU-144','Boing','СУ'); 

// массив Танки 
$t = array('Тигр','Пантера','Т-34','Аль Халид'); 

// массив Корабли 
$k = array('Кузнецов','Ямато','Ясень','Петропавловск'); 


// массивы 
$th = array($m, $s, $t, $k); 
$th1 = array($th, $th, $th, $th);
$th2 = array($th1, $th, $k, $th, $k, $th1, $th1, $th1, $th1);

// представление вложенности (структуры, стек) массива 
echo '<pre>';
print_r($th2);
echo 
'</pre>';

// Функция выполняющая рекурсивный спуск по массиву
function recursion($arr)
{
    if(
is_array($arr))
    {
        for(
$i=0; $i<count($arr); $i++)
        {
            if(
is_array($arr[$i]))
            {
                
recursion($arr[$i]);
            }
            else
            {
                echo 
$arr[$i].'<br>';
            }
        }
    }
    else
    {
        echo 
$arr.'<br>';    
    }
}


// Вывод на монитор
recursion($th2);



?>
Вывод на самом деле очень большой, поэтому нет смысла демонстрировать его на этой странице. Для проверки работы, скопируйте весь листинг, как есть, к себе на работающий сервер и посмотрите результат.

Урок закончен.

SETTER © LPHP.RU
Администрация сайта
08.04.2011 21:03:53

Напишите свой комментарий
Ваше имя
Сообщение
Введите цифры с картинки:
 

Комментарии

Евгений 05.01.2012 20:16:27
Спасибо!
BeefGlullyFut 08.01.2012 06:00:54
хорошее начало
Василий 22.02.2012 18:50:55
А иерархия где?
Вадим 25.09.2012 16:39:36
Спасибо!
  • Яндекс.Метрика Здесь находится аттестат нашего WM идентификатора 185571665285
  • "LPHPRU" © 2009-2021