PHP: Parámetros por Referencia
Sí amigos. Como tengo mucho tiempo libre (en realidad y dado el curso en el que estoy no debería, pero no sé cómo lo hago que sale tiempo libre) me dedico a programar. La verdad es que me gusta, mucho, así que por qué no hablar sobre estas cosillas aquí. Aunque no me entienda ni dios, pero yo cuento mi vida. Así que cuando veáis un post en la categoría de programación, ya sabéis.
Empecemos por el principio. Cuando en php definimos una función, al definir parámetros, podemos hacerlo de dos maneras: de la de toda la vida, con el nombre de la variable, y con variables por referencia. Cuando definimos variables por referencia, creamos una variable que no contiene un valor realmente, sino otra variable. Es algo parecido a lo que en JavaScript (y por extensión supongo que en Java, pero ni idea) se conoce como referencia (obvio, ¿no?), y un poco menos parecido a lo que en c++ (y puede que en más lenguajes) llaman puntero. Como el concepto de puntero lo tengo claro pero su uso no tanto, y aunque sé usar las referencias en JS, no lo he hecho nunca, pues explico lo que es exactamente en php. Básicamente, cuando digo que contiene otra variable, es que lo que tu le pasas a la función no es un valor, sino un nombre de variable, de manera que cuando, dentro de la función, modifiques el valor de esa variable, en realidad estarás modificando el valor de la variable que pasaste al invocar la función.