Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Desarrollo Web / Parámetros por valor y por referencia en php

Parámetros por valor y por referencia en php

Por jc mouse miércoles, agosto 22, 2012

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 🙂

Tags

Artículos similares

Crear Helpers en Laravel 10

El archuivo helpers.php en Laravel contiene funciones globales de PHP los cuales se pueden utilizar en cualquier parte d[...]

Google Open Source: Código Abierto +2000 proyectos

Google abre las puertas de Google Open Source un nuevo sitio web que une todos sus proyectos de «Código Abierto» que ha[...]

Material Design: Paleta de Colores

«Material Design es una guía integral para el diseño visual, de movimientos y de interacción en distintas plataformas y[...]

Migrar proyecto Netbeans a Eclipse

En ocasiones por motivos cualesquiera que sea queremos pasar proyectos hechos en netbeans a Eclipse, Netbeans cuenta con[...]

Generar clases desde Esquemas XSD

XJC es una herramienta de linea de comandos del compilador de esquemas de JAXB que se puede utilizar para convertir un e[...]

Efecto de explosión al abrir un JPanel

En este tutorial crearemos un interesante efecto de explosión al momento de abrir un JPanel, este efecto puede extenders[...]