Povezave v foreach v PHP
Pri delu z zanko foreach
spreminjanje spremenljivke za elemente
ne vpliva na sam array:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
$elem++;
}
var_dump($arr); // se ne spremeni
?>
Vendar pa želenega učinka lahko dosežemo, če deklariramo spremenljivko za elemente kot referenco. V tem primeru bodo spremembe te spremenljivke povzročile spremembe v arrayu:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem++;
}
var_dump($arr); // se spremeni
?>
Popravite naslednjo kodo tako, da bo delovala v skladu z načrtom:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem = sqrt($elem);
}
var_dump($arr);
?>
Popravite naslednjo kodo tako, da bo delovala v skladu z načrtom:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem ** 2;
}
var_dump($arr);
?>