Array-referencer i PHP
I PHP, i modsætning til andre programmeringssprog, kopieres arrays også, i stedet for at blive transmitteret ved reference.
Lad os overbevise os selv om dette:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = $arr1;
$arr2[0] = '!';
var_dump($arr1); // ændres ikke
?>
Lad os nu tvinge arrayet til at blive transmitteret ved reference:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = &$arr1;
$arr2[0] = '!';
var_dump($arr1); // ændres
?>
Fortæl, hvad resultatet af udførelsen af koden vil være:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = $arr1;
$arr2[0] = '!';
echo $arr1[0];
echo $arr2[0];
?>
Fortæl, hvad resultatet af udførelsen af koden vil være:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = &$arr1;
$arr1[0]++;
echo $arr1[0];
echo $arr2[0];
?>
Fortæl, hvad resultatet af udførelsen af koden vil være:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = &$arr1;
$arr1[0]++;
$arr2[0]++;
echo $arr1[0];
echo $arr2[0];
?>