Hivatkozások a foreach ciklusban PHP-ben
A foreach ciklus használatakor
az elemekre vonatkozó változó módosítása
nem vezet a tömb megváltozásához:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
$elem++;
}
var_dump($arr); // nem változik
?>
Azonban a kívánt hatást elérhetjük, ha a változót hivatkozásként deklaráljuk az elemek számára. Ebben az esetben a változó módosítása a tömbben is változásokhoz vezet:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem++;
}
var_dump($arr); // megváltozik
?>
Javítsa a következő kódot úgy, hogy az a tervezettnek megfelelően működjön:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem = sqrt($elem);
}
var_dump($arr);
?>
Javítsa a következő kódot úgy, hogy az a tervezettnek megfelelően működjön:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem ** 2;
}
var_dump($arr);
?>