Cikls un return PHP
Pieņemsim, ka mums ir funkcija, kas atgriež skaitļu summu
no 1 līdz 5:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
}
return $sum;
}
$res = func();
echo $res; // izvadīs 15
?>
Pieņemsim, ka mēs tagad ievietosim return
cikla iekšpusē, šādi:
<?php
function func() {
$sum = 0;
for ($i = 1; $i <= 5; $i++) {
$sum += $i;
return $sum;
}
}
$res = func();
echo $res;
?>
Šajā gadījumā cikls izpildīsies tikai vienu
iterāciju un notiks automātiska iziešana
no funkcijas (un arī no cikla). Un tikai vienas
cikla iterācijas laikā mainīgajā $sum nonāks
tikai skaitlis 1, nevis visa nepieciešamā summa.
Kas tiks izvadīts uz ekrāna šāda koda izpildes rezultātā:
<?php
function func($num) {
$sum = 0;
for ($i = 1; $i <= $num; $i++) {
$sum += $i;
return $sum;
}
}
echo func(5);
?>
Paskaidrojiet kāpēc.
Ko gribēja izveidot šī koda autors? Izlabojiet autora kļūdu.