The basic assignment operator is “=”. Your first inclination might be to think of this as “equal to”. Don’t. It really means that the left operand gets set to the value of the expression on the rights (that is, “gets set to”).

The value of an assignment expression is the value assigned. That is, the value of “$a = 3” is 3. This allows you to do some tricky things:

<?php

$a = ($b = 4) + 5; // $a is equal to 9 now, and $b has been set to 4.

?>

For arrays, assigning a value to a named key is performed using the “=>” operator. The precedence of this operator is the same as other assignment operators.

In addition to the basic assignment operator, there are “combined operators” for all of the binary arithmetic, array union and string operators that allow you to use a value in an expression and then set its value to the result of that expression. For example:

<?php

$a = 3;
$a += 5; // sets $a to 8, as if we had said: $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // sets $b to "Hello There!", just like $b = $b . "There!";

?>

Note that the assignment copies the original variable to the new one (assignment by value), so changes to one will not affect the other. This may also have relevance if you need to copy something like a large array inside a tight loop.

An exception to the usual assignment by value behaviour within PHP occurs with objects, which are assigned by reference in PHP 5. Objects may be explicitly copied via the clone keyword.

Assignment by Reference

Assignment by reference is also supported, using the “$var = &$othervar;” syntax. Assignment by reference means that both variables end up pointing at the same data, and nothing is copied anywhere.

Example #1 Assigning by reference

<?php
$a = 3;
$b = &$a; // $b is a reference to $a

print "$a\n"; // prints 3
print "$b\n"; // prints 3

$a = 4; // change $a

print "$a\n"; // prints 4
print "$b\n"; // prints 4 as well, since $b is a reference to $a, which has
// been changed
?>

As of PHP 5, the new operator returns a reference automatically, so assigning the result of new by reference results in an E_DEPRECATED message in PHP 5.3 and later, and an E_STRICT message in earlier versions.

For example, this code will result in a warning:

<?php
class C {}

/* The following line generates the following error message:
* Deprecated: Assigning the return value of new by reference is deprecated in...
*/
$o = &new C;
?>

Google quitó el subrayado de los enlaces de busquedas Google es una compañía poco dada a modificar el diseño de su motor de búsqueda, especialmente con cambios radicales. El aspecto general de la páginas ...
Google va a eliminar los perfiles privados que no se hagan públicos Nueva decisión controvertida de los ejecutivos de Google. Los del portal acaban de anunciar que el día 31 julio le van a dar la puntilla a todos los p...
Web Hosting Glossary,Terms Letter: L Terms Letter: L LAN Local Area Network. A network connecting computers in a relatively small area such as a building. A LAN can be connected...
¿Que trae de nuevo WhatsApp Web ? WhatsApp Web incorporará próximamente novedades. El centro de traducciones de WhatsApp ha publicado nuevas entradas para su traducción que sugieren cu...
El Nombre de Dominio .42 Se ha propuesto la iniciativa del lanzamiento del TLD .42 , orientado el registro de nombres de dominios relacionado con el Software Libre, la Organiz...
Charles Babbage y su maquina de diferencias Charles Babbage FRS Teignmouth, Devonshire, Gran Bretaña, 26 de diciembre de 1791 - 18 de octubre de 1871) fue un matemático británico y científico de...
#Android: Usuarios denuncias fallas den Android Lollipop La actualización del nuevo sistema operativo de Android, Android 5.0 Lollipop, está dando problemas. Los usuarios han denunciado que les impide enviar...
WordPress 3.3 que tiene de nuevo? En un nuevo paso que nos aproxima a la llegada definitiva de WordPress 3.3 acaba de ser liberado la última beta de la nueva versión de este CMS. Wo...
Flash sigue en decadencia Como veníamos anunciando en artículos anteriores, desde hace meses se viene comentando el fin de Flash en dispositivos Android. Desde el último Google...
Como ganar dinero en Internet.. Internet nació como un medio para compartir información. Este objetivo sigue siendo su esencia hasta el día de hoy, pero siempre ha servido como excus...