Gelung dan return dalam PHP
Katakan kita mempunyai fungsi yang mengembalikan jumlah
nombor dari 1 hingga 5:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
}
return $sum;
}
$res = func();
echo $res; // akan memaparkan 15
?>
Sekarang katakan kita meletakkan return
di dalam gelung, seperti ini:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
return $sum;
}
}
$res = func();
echo $res;
?>
Dalam kes ini, gelung hanya akan melakukan satu
lelaran dan keluar secara automatik dari
fungsi (dan juga dari gelung). Dan untuk satu
lelaran gelung, dalam pemboleh ubah $sum hanya akan terdapat
nombor 1, bukan keseluruhan jumlah yang diperlukan.
Apakah yang akan dipaparkan pada skrin hasil daripada pelaksanaan kod berikut:
<?php
function func($num) {
$sum = 0;
for ($i = 1; $i <= $num; $i++) {
$sum += $i;
return $sum;
}
}
echo func(5);
?>
Terangkan mengapa.
Apakah yang ingin dilakukan oleh pengarang kod ini? Betulkan kesilapan pengarang.