Врски во 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);
?>