Referencia operátor tömböknél

Referencia & operátor alkalmazása tömböknél.

Tömb értékül adása másik tömbnek, ez másolást jelent.

Bemutató példa.
<?php

$elso_tomb = array(4, 8);
echo"1.tömb [0]elem tartalma = "."$elso_tomb[0]"."<br />";
echo"1.tömb [1]elem tartalma = "."$elso_tomb[1]"."<br />";

$masodik_tomb = $elso_tomb;
// A 2.tömb, átveszi az 1.tömb tartalmát.
echo"2.tömb [0]elem tartalma = "."$masodik_tomb[0]"."<br />";
echo"2.tömb [1]elem tartalma = "."$masodik_tomb[1]"."<br />";

$masodik_tomb[] = 5; 
//2.tömb tartalma megváltozott, azaz bővült.
echo"2.tömb [0]elem tartalma = "."$masodik_tomb[0]"."<br />";
echo"2.tömb [1]elem tartalma = "."$masodik_tomb[1]"."<br />";
echo"2.tömb [2]elem tartalma = "."$masodik_tomb[2]"."<br />";

echo"1.tömb nem változott, még mindig array(4, 8)<br />";
print_r($elso_tomb);
echo"<br />";

// 3. és 1.tömb, összekapcsolása referencia operátorral.
// 3.tömb, átveszi az 1.tömb tartalmát.              
$harmadik_tomb = &$elso_tomb;
echo"3.tömb [0]elem tartalma = "."$harmadik_tomb[0]"."<br />";
echo"3.tömb [1]elem tartalma = "."$harmadik_tomb[1]"."<br />";


// 3.tömb tartalmát megváltoztatjuk, referencia operátor
// hatására, 1.tömb tartalma is megváltozik.
$harmadik_tomb[] = 5; echo"3.tömb [0]elem tartalma = "."$harmadik_tomb[0]"."<br />"; echo"3.tömb [1]elem tartalma = "."$harmadik_tomb[1]"."<br />"; echo"3.tömb [2]elem tartalma = "."$harmadik_tomb[2]"."<br />"; echo"1.tömb [0]elem tartalma = "."$elso_tomb[0]"."<br />"; echo"1.tömb [1]elem tartalma = "."$elso_tomb[1]"."<br />"; echo"1.tömb [2]elem tartalma = "."$elso_tomb[2]"."<br />"; ?>
Programunk eredménye:

Első tömb első elemének tartalma = 4
Első tömb második elemének tartalma = 8


A masodik_tomb, átveszi az elso_tomb tartalmát
Második tömb első elemének tartalma = 4
Második tömb második elemének tartalma = 8


Második tömb tartalma megváltozott, azaz bővült.
Második tömb első elemének tartalma = 4
Második tömb második elemének tartalma = 8
Második tömb harmadik elemének tartalma = 5

1.tömb tartalma nem változott, még mindig array(4, 8)
Array ( [0] => 4 [1] => 8 )



3.tömb, és 1.tömb, összekapcsolása referencia operátorral.
A harmadik_tomb, átveszi az elso_tomb tartalmát
Harmadik tömb első elemének tartalma = 4
Harmadik tömb második elemének tartalma = 8



Harmadik tömb tartalmát megváltoztatjuk,
referencia operátor hatására, az első tömb tartalma is megváltozik.

Harmadik tömb első elemének tartalma = 4
Harmadik tömb második elemének tartalma = 8
Harmadik tömb harmadik elemének tartalma = 5

Első tömb első elemének tartalma = 4
Első tömb második elemének tartalma = 8
Első tömb harmadik elemének tartalma = 5