Спасылкі ў foreach у PHP
Пры працы з цыклам foreach
змена зменнай для элементаў
не прыводзіць да зменаў самога масіва:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as $elem) {
$elem++;
}
var_dump($arr); // не зменіцца
?>
Аднак, патрэбнага эфекту можна дабіцца, калі аб'явіць зменную для элементаў спасылкай. У гэтым выпадку змены гэтай зменнай будуць прыводзіць да зменаў у масіве:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem++;
}
var_dump($arr); // зменіцца
?>
Выпраўце наступны код так, каб ён запрацаваў згодна задуманаму:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem = sqrt($elem);
}
var_dump($arr);
?>
Выпраўце наступны код так, каб ён запрацаваў згодна задуманаму:
<?php
$arr = [1, 2, 3, 4, 5];
foreach ($arr as &$elem) {
$elem ** 2;
}
var_dump($arr);
?>