Kuitumia Rekursi na Parameta katika PHP
Wacha, kwa kutumia rekursi tuonyeshe mfululizo wa vipengele vya safu. Acha safu awali ipitiswe kama parameta ya kitendakazi:
<?php
func([1, 2, 3]);
?>
Wacha kwa sasa tusiitumie rekursi tukitumia kitendakazi
array_shift
tuonyeshe vipengele vyote vya safu kwa mfuatano:
<?php
function func($arr) {
var_dump(array_shift($arr)); // itaonyesha 1
var_dump($arr); // itaonyesha [2, 3] - safu imepungua
var_dump(array_shift($arr)); // itaonyesha 2
var_dump($arr); // itaonyesha [3] - safu imepungua
var_dump(array_shift($arr)); // itaonyesha 3
var_dump($arr); // itaonyesha [] - safu ni tupu
}
func([1, 2, 3]);
?>
Kama unavyoona, kitendakazi array_shift
kinatoa na kurudisha kipengele cha kwanza cha safu,
wakati huo huo, safu yenyewe hupungua kwa kipengele hicho.
Wacha sasa tuitumie rekursi:
<?php
function func($arr) {
var_dump(array_shift($arr));
var_dump($arr);
if (count($arr) !== 0) {
func($arr);
}
}
func([1, 2, 3]);
?>
Kweli, bila shaka, ni rahisi zaidi kutaja kwa mzunguko vipengele vya safu. Mifano iliyowasilishwa kwa sasa inaonyesha tu utendakazi wa rekursi kwa mifano rahisi (isiyo ya kawaida). Mifano inayofaa zaidi ya matumizi ya rekursi ni ngumu zaidi, tutayachambua kidogo chini.
Safu ifuatayo imetolewa:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
?>
Kwa kutumia rekursi, onyesha vipengele vya hii safu kwenye skrini.