Hozzárendelő operátorok

Az alapvető hozzárendelő operátor az "=". Talán elsőre azt hiszed, hogy ez az "egyenlő valamivel" jele. De nem. Valójában azt jelenti, hogy a bal oldali operandus [ami az egyenlőségjel bal oldalán áll] a jobb oldali kifejezést kapja értékül.

A hozzárendelő kifejezés értéke a bal oldalhoz rendelt érték. Vagyis a "$a = 3" értéke 3. Ez lehetőséget ad néhány trükkös dologra:


$a = ($b = 4) + 5; // $a most 9, és $b 4
     

Sőt, az alapvető hozzárendelő operátoron felül vannak "kombinált" operátorok is az összes kétoperandusú aritmetikai és stringoperátok számára, amik lehetővé teszik, hogy használjunk egy változót egy kifejezésben, majd rögtön be is állítsuk a változót a kifejezés értékére. Például:


$a = 3;
$a += 5; // $a-t 8-ra állítja, mintha  $a = $a + 5;-öt írtunk volna
$b = "Csecs ";
$b .= "Emő"; // $b-t "Csecs Emő"-re állítja, egyenértékű: $b = $b . "Emő";

      

A hozzárendelés az eredeti változót újba másolja (érték szerint), így az egyiken elvégzett változtatások a másikat nem érintik. Ezt néha fontos tudni, például ha mondjuk egy nagy tömböt kell másolni egy sokszor végrehajtott ciklus belsejében. A PHP 4 támogatja paraméterek érték szerinti átadását a $var = &$othervar; szintaxissal, de ez PHP 3-ban nem működik. A 'cím szerinti paraméterátadás' azt jelenti, hogy mindkét változó ugyanarra az adatra mutat, tehát semmi nem másolódik sehová [a változó címét kivéve...] További információkat a referenciákról a Referenciák részletesen című fejezetben olvashatsz.