Atsauces foreach PHP
Strādājot ar foreach ciklu,
elementu mainīgā izmaiņas
neizraisa paša masīva izmaiņas:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
$elem++;
}
var_dump($arr); // nemainīsies
?>
Tomēr vēlamo efektu var panākt, ja deklarējat elementu mainīgo kā atsauci. Šajā gadījumā šī mainīgā izmaiņas izraisīs izmaiņas masīvā:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem++;
}
var_dump($arr); // mainīsies
?>
Izlabojiet šādu kodu tā, lai tas darbotos saskaņā ar iecerēto:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem = sqrt($elem);
}
var_dump($arr);
?>
Izlabojiet šādu kodu tā, lai tas darbotos saskaņā ar iecerēto:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem ** 2;
}
var_dump($arr);
?>