PHP-de siklda return ulanylyşy
return sikliň içinde ýerleşýändigi, ähli wagt ýalňyşlyk bolup bilmeýär.
Aşakdaky mysalda, jemi 10-dan uly ýa-da deň bolýança, massiwiň ilkinçi näçe elementini goşmalydygyny kesgitleýän funksiýa ýasaldy:
<?php
function func($arr) {
$length = count($arr);
$sum = 0;
for ($i = 0; $i < $length; $i++) {
$sum += $arr[$i];
// Eger jemi 10-dan uly ýa-da deň bolsa:
if ($sum >= 10) {
return $i + 1; // sikl we funksiýadan çykýarys
}
}
}
$res = func([1, 2, 3, 4, 5]);
echo $res;
?>
Indiki mysalda, netije 100-dan uly bolýança, 1 bilen başlap, näçe bitin sany goşmalydygyny hasaplaýan funksiýa ýasaldy:
<?php
function func() {
$sum = 0;
$i = 1;
while (true) { // çäksiz sikl
$sum += $i;
if ($sum >= 100) {
return $i; // sikl şu ýerden çykýança aýlanýar
}
$i++;
}
}
echo func();
?>
Sany parametr hökmünde kabul eden we netije 10-dan kiçi bolýança ony 2 bölýän funksiýa ýazyň. Funksiýanyň netijä ýetmek üçin gerek bolan iterasiýalaryň sanyny gaýtarmagyny haýyş edýäris.