PHP-тегі foreach ішіндегі сілтемелер
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);
?>