Հղումները 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);
?>