Viidad foreach-s PHP-s
Töötades tsükliga foreach
elementide muutuja muutmine
ei too kaasa muutusi massiivis endas:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
$elem++;
}
var_dump($arr); // ei muutu
?>
Siiski, soovitud efekti saavutada, kui deklareerida elementide muutuja viidana. Sel juhul selle muutuja muutused toovad kaasa muutused massiivis:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem++;
}
var_dump($arr); // muutub
?>
Parandage järgnev kood nii, et see töötaks vastavalt kavandatule:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem = sqrt($elem);
}
var_dump($arr);
?>
Parandage järgnev kood nii, et see töötaks vastavalt kavandatule:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem ** 2;
}
var_dump($arr);
?>