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];
?>
Рекурсиянын жардамы менен бул массивдин элементтерин экранга чыгарыңыз.