<?php
$a = [1, 2];
$b = $a;
$a[] = 3;
$b[] = 4;
echo "When next index=2 and max key=2, next key is both 2.\n";
var_dump($a, $b); // $a = [0=>1, 1=>2, 2=>3] $b = [0=>1, 1=>2, 2=>4]
$a = [1, 2];
unset($a[1]);
$b = $a;
$a[] = 3;
$b[] = 4;
echo "\nWhen next index=2 and max key=1, next key is both 2. \n";
var_dump($a, $b); // $a = [0=>1, 2=>3] $b = [0=>1, 2=>4]
$a = [1, 2];
unset($a[1], $a[0]);
$b = $a;
$a[] = 3;
$b[] = 4;
echo "\nWhen next index=2 and max key=0, next key is 0 or 2.";
var_dump($a, $b); // $a = [0=>3] $b = [2=>4] what?
$a = [1, 2];
unset($a[1], $a[0]);
$b = $a;
$b[] = 4;
$a[] = 3;
echo "\nIf reverse variable, result is reverse too.\n";
var_dump($a, $b); // $a = [2=>3] $b = [0=>4] what??
$a = [1, 2];
unset($a[1], $a[0]);
$b = $c = $d = $a;
$a[] = 3;
$b[] = 4;
$d[] = 6;
$c[] = 5;
echo "\nWhen increase variables, only the last one take over key..\n";
var_dump($a, $b, $c, $d); // $c's key is 2, others are 0
preferences:
52.79 ms | 402 KiB | 5 Q