El operador básico de asignación es "=". A primera vista, usted podría pensar en él como "es igual a". No lo haga. Lo que quiere decir en realidad es que el operando de la izquierda recibe el valor de la expresión a la derecha (es decir, "se define a").
El valor de una expresión de asignación es el valor que se asigna. Es decir, el valor de "$a = 3" es 3. Esto le permite hacer una que otra cosa curiosa:
<?php
$a = ($b = 4) + 5; // $a es igual a 9 ahora, y $b ha sido definido a 4.
?>
En conjunto con el operador básico de asignación, existen "operadores combinados" para todos los operadores de aritmética binaria, unión de matrices y de cadenas, que le permiten usar un valor en una expresión y luego definir su valor como el resultado de esa expresión. Por ejemplo:
<?php
$a = 3;
$a += 5; // define $a como 8, como si hubiésemos dicho: $a = $a + 5;
$b = "¡Hola ";
$b .= "a todos!"; // define $b como "¡Hola a todos!", tal como $b = $b . "a todos!";
?>
Note que la asignación copia la variable original en la nueva (asignación por valor), de modo que cualquier cambio a una no afecta a la otra. Esto puede resultar de importancia si necesita copiar algo como una matriz de gran tamaño al interior de un ciclo reducido. A partir de PHP4, es soportada la asignación por referencia, usando la sintaxis $var = &$otra_var;, pero esto no es posible en PHP3. 'Asignación por referencia' quiere decir que ambas variables terminan apuntando a los mismos datos y que nada es realmente copiado. Para aprender más sobre las referencias, por favor refiérase a las Referencias explicadas. A partir de PHP 5 los objetos son asignados por referencia a menos que explícitamente se diga lo contrario con la nueva palabra clave clone.