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:

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

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:

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

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 PHP4 támogatja paraméterek érték szerinti átadását a $var = &$othervar; szintaxissal, de ez PHP3-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...]