Kitanzi na Kurudi katika PHP
Tuseme tuna kitendo kinachorudisha jumla ya
nambari kutoka 1 hadi 5:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
}
return $sum;
}
$res = func();
echo $res; // itatoa 15
?>
Tuseme sasa tunaweka return
ndani ya kitanzi, kama hivi:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
return $sum;
}
}
$res = func();
echo $res;
?>
Katika kesi hii, kitanzi kitazunguka kwa mara moja tu
na kutokea utokeaji wa kiotomatiki
kutoka kwenye kitendo (na pia kutoka kwenye kitanzi). Na kwa mara moja
ya mzunguko wa kitanzi katika kigeuzi $sum kitaingia
nambari 1 tu, na sio jumla yote inayohitajika.
Nini kitaonyeshwa kwenye skrini kama matokeo ya utekelezaji wa msimbo ufuatao:
<?php
function func($num) {
$sum = 0;
for ($i = 1; $i <= $num; $i++) {
$sum += $i;
return $sum;
}
}
echo func(5);
?>
Eleza kwa nini.
Mwandishi wa msimbo huu alitaka kufanya nini? Sahihisha kosa la mwandishi.