Rekursie met parameter in PHP
Kom ons gebruik rekursie om die elemente van 'n array opeenvolgend te vertoon. Laat die array aanvanklik as 'n parameter na die funksie oorgedra word:
<?php
func([1, 2, 3]);
?>
Kom ons sonder rekursie, deur die funksie
array_shift te gebruik,
al die elemente van die array een vir een vertoon:
<?php
function func($arr) {
var_dump(array_shift($arr)); // sal 1 vertoon
var_dump($arr); // sal [2, 3] vertoon - array het verkort
var_dump(array_shift($arr)); // sal 2 vertoon
var_dump($arr); // sal [3] vertoon - array het verkort
var_dump(array_shift($arr)); // sal 3 vertoon
var_dump($arr); // sal [] vertoon - array is leeg
}
func([1, 2, 3]);
?>
Soos jy kan sien, sny die funksie array_shift
die eerste element van die array uit en gee dit terug,
terwyl die array self met hierdie element verkort.
Kom ons nou rekursie gebruik:
<?php
function func($arr) {
var_dump(array_shift($arr));
var_dump($arr);
if (count($arr) !== 0) {
func($arr);
}
}
func([1, 2, 3]);
?>
In werklikheid is dit natuurlik die maklikste om die elemente van 'n array met 'n lus te deurkruis. Die gegewe voorbeelde demonstreer eenvoudig die werking van rekursie op eenvoudige voorbeelde (nie uit die praktyk nie). Meer nutstige voorbeelde van die toepassing van rekursie is eenvoudig meer kompleks, ons sal hulle 'n bietjie later uitmekaar sit.
Gegee die array:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
?>
Gebruik rekursie om die elemente van hierdie array op die skerm te vertoon.