Array-referenties in PHP
In PHP, in tegenstelling tot andere programmeertalen, worden arrays ook gekopieerd, en niet doorgegeven door referentie.
Laten we dit verifiëren:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = $arr1;
$arr2[0] = '!';
var_dump($arr1); // verandert niet
?>
Laten we nu de array forceren om doorgegeven te worden door referentie:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = &$arr1;
$arr2[0] = '!';
var_dump($arr1); // verandert wel
?>
Vertel wat het resultaat zal zijn van het uitvoeren van de code:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = $arr1;
$arr2[0] = '!';
echo $arr1[0];
echo $arr2[0];
?>
Vertel wat het resultaat zal zijn van het uitvoeren van de code:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = &$arr1;
$arr1[0]++;
echo $arr1[0];
echo $arr2[0];
?>
Vertel wat het resultaat zal zijn van het uitvoeren van de code:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = &$arr1;
$arr1[0]++;
$arr2[0]++;
echo $arr1[0];
echo $arr2[0];
?>