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

  • Что нового?

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

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

    • Метод POST (2946433 )
    • Привет, МИР! (911226 )
    • Метод GET (667805 )
    • Операторы (606044 )
    • Firefox уже запущен, но не отвечает... (353682 )

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

Главная» Array » Рекурсивный спуск. Рекурсивный обход массива.
PHP урок № 343
Рекурсия или рекурсивный обход массива.
Что такое рекурсия в принципе, можно ознакомиться в уроке Рекурсивный метод вызова функций., а в этом уроке, я хотел бы представить функцию, которая с помощью этой самой рекурсии выводит все данные на монитор. Причём вложенность любая, а вывод, может быть ограничен лишь памятью сервера и характеристиками железа.
Листинг № Array - Рекурсивный обход массива.
<?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
Администрация сайта
Array
  • lphp.ru © 2009-2023