Reference u foreach-u u PHP
Prilikom rada sa petljom foreach
izmena promenljive za elemente
ne dovodi do izmena samog niza:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
$elem++;
}
var_dump($arr); // neće se promeniti
?>
Međutim, željeni efekat se može postići ako deklarišemo promenljivu za elemente kao referencu. U ovom slučaju izmene ove promenljive će dovoditi do izmena u nizu:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem++;
}
var_dump($arr); // promeniće se
?>
Ispravite sledeći kod tako da radi u skladu sa zamišljenim:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem = sqrt($elem);
}
var_dump($arr);
?>
Ispravite sledeći kod tako da radi u skladu sa zamišljenim:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem ** 2;
}
var_dump($arr);
?>