Listar un directorio con php es muy útil para visualizar de forma rápida el contenido de una carpeta de nuestro proyecto, si añadimos un...
Paso de parámetros y variables en funciones de php
Los parámetros son variables que recibe una función para utilizarlas en la ejecución de la misma, estos se pueden pasar de 3 formas distintas, por valor, por referencia y por defecto, vamos a ver como pasar parámetros de las 3 formas distintas, como se comportan las funciones al devolver los valores y porqué lo hacen así.
Paso de parámetros por valor
Cuando pasamos los parámetros por valor a las funciones en php, los cambios que hagamos en estas variables solo tendrán valor en el ámbito de la función, es decir, que no se actualizará la variable en el documento en el que está declarada.
Veamos un ejemplo de paso de parámetros por valor, creamos una función a la que llamamos posteriormente pasándole una variable que hemos declarado previamente con un valor 2, si hacemos un echo de esta función tendrá el mismo valor que el que hemos declarado en la función, en cambio, si hacemos un echo de esta variable una vez se ha terminado de ejcutar la función, tendrá el mismo valor con el que se ha declarado en el documento, esto es así porque una vez se termina de ejecutar la función, esta no sabe nada de la variable que le hemos pasado ya que la función ha finalizado.
function mifuncion1($fvar) {
$fvar = 1;
return $fvar;
}
$dvar = 2;
echo '<p>' . mifuncion1($dvar) . '</p>';
echo '<p>' . $dvar . '</p>';
Paso de parámetros por referencia
En la función anterior le hemos pasado como parámetro el valor de la variable $dvar que tiene el valor 2, dentro de la función nos devuelve 1, fuera de esta, la variable nos devolverá el valor con el que ha sido declarada en el documento. Si queremos que nos devuelva el valor declarado en la función tendremos que anteponer un ampersand (&) a los parámetros que queremos pasar por referencia en la definición de la función.
function mifuncion2(&$fvar) {
$fvar = 1;
return $fvar;
}
$nvar = 2;
echo '<p>' . mifuncion2($nvar) . '</p>';
echo '<p>' . $nvar . '</p>';
Ahora en la función anterior le hemos pasado como parámetro el valor de la variable $dvar que tiene el valor 2, dentro de la función nos devuelve 1, fuera de esta, la variable nos devolverá el valor con el que ha sido declarada en la función, en este caso también 1, al pasar los parámetros por referencia, hemos modificado el valor de la variable.
Paso de parámetros por defecto
También podemos asignar un valor por defecto a los parámetros declarándolo en la función, de esta forma la función nos devolverá ese valor a no ser que le pasemos un valor distinto, en caso de que le pasemos un valor distinto la función nos devolverá ese valor.
function mifuncion9($fvar=1) {
return $fvar;
}
echo mifuncion9();
Si le pasamos un valor, este parámetro tomará el valor de la variable declarada en el documento.
function mifuncion10($fvar=1) {
return $fvar;
}
$rvar = 2;
mifuncion10($rvar);
echo $rvar;
También podemos pasarle los valores directamente.
function mifuncion7($fvar=1) {
return $fvar;
}
echo mifuncion7(2);
Tenemos que tener en cuenta que si utilizamos el paso de parametros por defecto, los valores predeterminados deben estar siempre a la derecha de los valores no predeterminados, vemaos un ejemplo.
function mifuncion11($nvar, $nvar2 = 1) {
return $nvar2 . $nvar;
}
$nvar = mifuncion11(2,1);
$nvar2 = mifuncion11(2);
echo $nvar;
echo $nvar2;
Conclusión: Utilizaremos el paso de parametros por valor cuando no necesitemos que la función nos modifique el valor fuera de la función pero si dentro de ella, utilizaremos el paso por referencia cuando necesitemos que la función modifique el valor tanto dentro como fuera de ella, por último, el paso de valores por defecto nos dá la opción de modificar o no los parametros que pasamos a la función o como hemos visto, que la función no espere esos parametros.
Quizás te interese ...
Pasar variables en php es muy fácil, lo primero que tenemos que saber es que el ámbito de una variable es el sitio donde la variable tiene...
En este artículo vamos a crear un mecanismo para mostrar las tablas de una base de datos en MySQL dinámicamente, el objetivo es que el...
Existen varios motivos a nivel profesional para permitir a un usuario modificar la hoja de estilos en un sitio web, uno de ellos y quizá el...
Valoraciones
Sé el primero en valorar