Kufanya Kazi na Ukurursaji katika PHP
Katika programu kuna dhana inayoitwa
ukurursaji - hii ni wakati kitendo kinajiita
yenyewe. Hebu tuangalie kwa mfano.
Tuonyeshe kwa kutumia ukurursaji nambari kutoka 1
hadi 10:
<?php
$i = 1;
function func()
{
global $i;
echo $i;
$i++;
if ($i <= 10){
func(); // hapa kitendo kinajiita yenyewe
}
}
func();
?>
Hebu tujadili, msimbo huu unafanyaje kazi.
Tuna kigeugeu cha global $i
na kitendo func, ndani yake kwenye konokono
kinatolewa yaliyomo kwenye kigeugeu $i,
kisha hufanywa ++.
Ikiwa kigeugeu chetu $i ni kidogo au
sawa na 10, basi kitendo huitwa tena.
Kwa sababu kigeugeu $i ni cha global,
basi kwa kila wito mpya wa kitendo ndani yake
kutakuwa na thamani iliyowekwa wito uliopita
ya kigeugeu $i.
Itatokea kwamba kitendo kitajiita yenyewe
hadi $i isizidi 10.
Zingatia kwamba katika kesi yetu haiwezekani kitendo
kuzinduliwa bila if - ikiwa hii itafanyika,
basi itatokea wito usio na mwisho wa vitendo.