Запіс на курсы па HTML, CSS, JavaScript, PHP, Python, фрэймворкам і CMS,
а таксама: дапамога ў пошуку працы і заказаў, стажыроўка на рэальных праектах→
⊗ppPmRcEP 218 of 447 menu

Рэкурсія з параметрам у PHP

Давайце, з дапамогай рэкурсіі паслядоўна выведзем элементы масіва. Хай масіў першапачаткова перадаецца параметрам функцыі:

<?php func([1, 2, 3]); ?>

Давайце пакуль без рэкурсіі з выкарыстаннем функцыі array_shift выведзем усе элементы масіва па чарзе:

<?php function func($arr) { var_dump(array_shift($arr)); // выведзе 1 var_dump($arr); // выведзе [2, 3] - масіў паменшыўся var_dump(array_shift($arr)); // выведзе 2 var_dump($arr); // выведзе [3] - масіў паменшыўся var_dump(array_shift($arr)); // выведзе 3 var_dump($arr); // выведзе [] - масіў пусты } func([1, 2, 3]); ?>

Як вы бачыце, функцыя array_shift выразае і вяртае першы элемент масіва, пры гэтым сам масіў паменшваецца на гэты элемент.

Давайце цяпер выкарастаем рэкурсію:

<?php function func($arr) { var_dump(array_shift($arr)); var_dump($arr); if (count($arr) !== 0) { func($arr); } } func([1, 2, 3]); ?>

На самой справе, вядома ж, прасцей за ўсё перабраць элементы масіва цыклам. Прыведзеныя прыклады пакуль проста дэманструюць работу рэкурсіі на простых прыкладах (не жыццёвых). Больш карысныя прыклады ўжывання рэкурсіі проста больш складаныя, мы іх разбярэм крыху ніжэй.

Дадзены масіў:

<?php $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5]; ?>

З дапамогай рэкурсіі выведзіце элементы гэтага масіва на экран.

byenru