lenker i foreach i PHP
Ved arbeid med løkken foreach
vill endring av variabel for elementer
ikke føre til endringer i selve arrayet:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
$elem++;
}
var_dump($arr); // vil ikke endres
?>
Imidlertid kan ønsket effekt oppnås hvis man deklarerer variabelen for elementer som en referanse. I dette tilfellet vil endringer av denne variabelen føre til endringer i arrayet:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem++;
}
var_dump($arr); // vil endres
?>
Korriger følgende kode slik at den fungerer i henhold til planen:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem = sqrt($elem);
}
var_dump($arr);
?>
Korriger følgende kode slik at den fungerer i henhold til planen:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem ** 2;
}
var_dump($arr);
?>