Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Desarrollo Web / Parámetros por valor y por referencia en php

Parámetros por valor y por referencia en php

Autor 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

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Formulario de autenticación circular

Formulario de autenticación circular

En este tutorial crearemos un formulario de logueo de forma circular usando el lenguaje java y el IDE de Netbeans. Neces...

Modificar las pestañas de JTabbedPane

Modificar las pestañas de JTabbedPane

En este tutorial veremos lo fácil que es personalizar las pestañas de un JTabbedPane con unas cuantas lineas de código y...

Elimina el fondo de tus fotografías en 5 segundos

Elimina el fondo de tus fotografías en 5 segundos

Si te gusta realizar tus propios memes o foto montajes pero tienes poca o nula experiencia en editores gráficos como Pho...

The Polite Type: La fuente tipográfica políticamente correcta

The Polite Type: La fuente tipográfica políticamente correcta

«Las palabras que elegimos dan forma a nuestra realidad. La Fuente Educada (Polite Type) es una fuente de código abierto...

Escritura y lectura de archivos CSV

Escritura y lectura de archivos CSV

Los archivos CSV (del inglés comma-separated values – separados por comas) son un tipo de documento en formato abi...

Campo autoincrement en PostgreSQL con pgAdminIII

Campo autoincrement en PostgreSQL con pgAdminIII

En Postgres a diferencia de MySQL, colocar un campo con un valor autonumerico incrementable es un poco más complicado pe...

Comparte lo que sabes

Categorias

Últimas entradas

En este post crearemos un botón swing que reproducirá un sonido cuando este sea presionado por el usuario.  Sin mas que...

Muchas veces necesitamos de fotos para adornar nuestros perfiles en RRSS pero no queremos subir nuestras propias fotos p...

En esta ocasión aprenderemos a conectaros con una base de datos Oracle desde Laravel. Es un tutorial sencillo y cortito,...

En este tutorial conoceremos una forma de conectar una aplicación en Laravel con tres bases de datos diferentes, 2 en My...

Herramientas

Generador de Enlaces a Whatsapp