Вход Регистрация

Рекурсивные методы в классах на PHP

Методы в классе как обычные функции, могут быть рекурсивными, то есть позволяют многократно вызывать сами себя. Рассмотрим класс "myRecursion", который не содержит членов, а содержит единственный метод "method_myRecursion()".

Классы, не содержащие членов и включающие в себя только методы, часто используют как своеобразный контейнер - библиотеку. Это позволяет организовать некоторое подобие пространства имён и исключить конфликт между функциями имеющими одинаковые имена, но выполняющими разные действия.

Класс myRecursion:


class myRecursion {

	public function method_myRecursion($_element) {

		if (is_array($_element)) {

			foreach ($_element as $_value) {
				$this->method_myRecursion($_value);
			}

		} else {

			echo '<div>'. $_element .'</div>';

		}

	}

}

$_Class_myRecursion = new myRecursion();

$_myArray = array('1' => array('A', 'B', 'C'),
                  '2' => array('D', 'E', 'F'),
                  '3' => array('G', 'H', 'I'));

$_Class_myRecursion->method_myRecursion($_myArray);

Результат:


A
B
C
D
E
F
G
H
I

Метод "method_myRecursion()" принимает единственный параметр. Если в качестве параметра ему передаётся массив, то для каждого его элемента метод вновь вызывает сам себя, если же параметр является обычной переменной, то он выводиться в окно браузера.


Комментировать

captcha

  #1 / Гость
25 июня 2012 / Ответить  

Спасибо. Наконец дошло.

Вход

Зарегистрируйтесь, если нет учетной записи

Напомнить пароль
Создание учётной записи
Напомнить пароль
Войти в личный кабинет