En php cuando se pasan parámetros a una función, estos por defecto se los hacen por valor, es decir php crea una copia del valor para trabajar dentro de la función y no modifica la variable original. Por ejemplo:
<?php function suma( $a ) { $a+=23; echo 'Valor dentro la función: ' . $a; } //se define variable $a = 10 ; echo 'Valor de $a original: ' . $a; echo '<br/>'; suma( $a ); echo '<br/>'; echo 'Valor de $a despues de la funcion: ' .$a; ?>
Tenemos como resultado:
Valor de $a original: 10 Valor dentro la función: 33 Valor de $a despues de la funcion: 10
Pasamos la variable $a hacia la función, se realizan operaciones dentro, pero la variable $a conserva su valor original porque la función crea una copia interna para trabajar.
Sin embargo php nos permite pasar los parámetros por referencia, es decir, que los valores que pasemos hacia una función , se verán afectadas por las operaciones internas realizadas en la función. Para pasar un valor por referencia, se utiliza el simbolo «&» por delante de la variable, osea si tenemos $variable, por referencia sería &$variable.
Ejemplo:
<?php function suma( $a ) { $a+=23; echo 'Valor dentro la función: ' . $a; } //se define variable $a = 10 ; echo 'Valor de $a original: ' . $a; echo '<br/>'; suma( &$a ); echo '<br/>'; echo 'Valor de $a despues de la funcion: ' .$a; ?>
El código es el mismo que en el primer ejemplo, con la única diferencia que al llamar a la función lo hacemos con el simbolo «&» antes de la variable, y tenemos como resultado:
Valor de $a original: 10 Valor dentro la función: 33 Valor de $a despues de la funcion: 33
Como se ve, la variable $a es afectada con las operaciones realizadas dentro de la función.
¿Y esto para que sirve?
Bueno, como dije al principio cuando se pasa un parámetro por valor a una función, se crea una copia de esta para trabajar dentro de la función, imagine una web de alto tráfico con 1 millón de visitas y 1000 parámetros entrando y saliendo de funciones a cada momento, es mucho trabajo para el servidor, pero si se pasan los parámetros por referencia, el proceso de los datos se alivia un poco.
fin 🙂
Cuando desarrollamos aplicaciones para android como programadores nos interesa la velocidad al tiempo de depurar el códi[...]
Un JList nos permite almacenar objetos en una lista y mostrarlos gráficamente en una serie vertical en el cual el usuari[...]
En este tutorial crearemos un formulario de logueo de forma circular usando el lenguaje java y el IDE de Netbeans. Neces[...]
¿Qué es una página 404? Una página 404 es la pagina que ve un visitante cuando se produce un error HTTP 404 o Not Found,[...]
Google acaba de lanzar AutoDraw, una aplicación que usa la Inteligencia Artificial para adivinar lo que intentas dibujar[...]
En este post aprenderemos lo que es un JSON Web Token, como crear nuestro propio token de acceso y como usarlo en un Ser[...]