Спасылкі-масівы ў PHP
У PHP, у адрозненне ад іншых моваў праграмавання, масівы таксама капіююцца, а не перадаюцца па спасылцы.
Давайце пераканаемся ў гэтым:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = $arr1;
$arr2[0] = '!';
var_dump($arr1); // не зменіцца
?>
Прымусім цяпер масіў перадавацца па спасылцы:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = &$arr1;
$arr2[0] = '!';
var_dump($arr1); // зменіцца
?>
Раскажыце, якім будзе вынік выканання кода:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = $arr1;
$arr2[0] = '!';
echo $arr1[0];
echo $arr2[0];
?>
Раскажыце, якім будзе вынік выканання кода:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = &$arr1;
$arr1[0]++;
echo $arr1[0];
echo $arr2[0];
?>
Раскажыце, якім будзе вынік выканання кода:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = &$arr1;
$arr1[0]++;
$arr2[0]++;
echo $arr1[0];
echo $arr2[0];
?>