Funciones Parte 3 (Parámetros por valor, por referencia y por defecto)

En esta entrega vamos a aprender sobre los parámetros en las funciones. Primero que nada es necesario mencionar que la información que se le pasa a las funciones puede pasársele por medio de una serie de constantes y/o variables separadas por comas, como ya vimos en la entrega anterior. Los parámetros que se pasan a las funciones pueden ser por valor, por referencia y parámetros por defecto.

Parámetros por valor:

Por defecto, los parámetros se pasan por valor. Esto significa que si el valor de la variable que se pasa como parámetro a la función sufre algún cambio en su valor dentro de la función, éste cambio no afectará al valor original de la variable.

El ejemplo siguiente aclara las dudas de mejor manera:

 

<?php

$original = "Esto es fuera de la función";

function cambio($original){

$original = "Esto es dentro de la función";

echo $original;

}
echo "Fuera de la función la variable es: ";

echo $original."<BR>";

echo "Dentro de la función, la variable es: ";

cambio($original);

echo "<BR>Esto está fuera de la función de nuevo: ";

echo $original;

?>

 

Lo anterior produce el siguiente resultado:

 

php

Parámetros por referencia:

Cuando se pasan parámetros por referencia, le damos autorización a la función (¿qué tal?, ¡verso sin mucho esfuerzo!) de cambiar permanentemente el valor original de la variable.

Para pasar siempre un parámetro por referencia, basta con anteponer un ampersand (&) al nombre del parámetro en la definición de la función de la siguiente forma:

 

<?php

$original = "Esto es fuera de la función";

function cambio_total(&$original){

$original = "Esto es dentro de la función y fuera de la función";

echo $original;

}

echo "Fuera de la función la variable es: ";

echo $original."<BR>";

echo "Dentro de la función, la variable es: ";

cambio_total($original);

echo "<BR>Esto está fuera de la función de nuevo: ";

echo $original;

?>

 

El código anterior produce la siguiente salida:

 

php

Como se darán cuenta, la variable $original cambia definitivamente de valor al entrar al cuerpo de la función, gracias a que su parámetro (es decir la variable $original) se ha pasado por referencia.

Parámetros por defecto:

Los valores por defecto son expresiones constantes y no variables, que se pasan a la función. Una observación importante que debemos hacer, es que los parámetros por defecto deben ser declarados a la derecha de cualquier parámetro que no sea por defecto pasado a la función.

El ejemplo siguiente demuestra lo que significa pasar un parámetro por defecto:

<?php

function por_defecto($autor, $libro = "Cien años de soledad"){

return "El libro es $libro y su autor es $autor";
}
echo por_defecto("Gabriel García Márquez");

?>

Como ya habían imaginado, lo anterior produce la siguiente salida:

 

php

 

Muy bien, en cuanto a funciones, lo anterior es lo más importante. Estamos seguros que con esto, sus programas se volverán verdaderamente intensos e interesantes. En nuestra próxima entrega, aprenderemos sobre estilo y algunos consejos de cómo hacer nuestros programas más profesionales y documentados.

Por el momento, ¡hasta pronto!

 

Contenidos que te pueden interesar
Este sitio usa cookies para personalizar el contenido y los anuncios, ofrecer funciones de redes sociales y analizar el tráfico. Ninguna cookie será instalada a menos que se desplace exprésamente más de 400px. Leer nuestra Política de Privacidad y Política de Cookies. Las acepto | No quiero aprender cursos gratis. Sácame