En ocasiones tenemos funciones en PHP que necesitamos regresen dos o más valores; es decir, hacer que una función, dentro de su return, devuelva varios valores en lugar de 1.
Con el lenguaje de programación PHP esto es totalmente posible y fácil de hacer. Para ello usamos arreglos y la función list
.
Regresar varios valores en función de PHP
Lo que tenemos que hacer es devolver un arreglo, con cualquier número de variables. Puedes regresar 2 valores, 3 valores, etcétera. Y estos pueden ser de cualquier tipo.
Recibir varios valores
Para recibir los valores al llamar a la función, se debe usar list
. Este constructor del lenguaje funciona para “desempacar” el arreglo que devuelve la función y convertir sus valores a variables que ya podemos usar.
Esto es como si recorriéramos el arreglo y declaráramos las variables dependiendo del índice.
Ejemplo
Para terminar esta explicación (pues con código se entiende mejor) tenemos el siguiente ejemplo. En este caso estamos devolviendo 3 valores en la siguiente función de PHP:
<?php
function obtenerNombreEdadYRespuesta(){
$nombre = "Luis";
$edad = 23;
$leGustaProgramar = "Sí";
# Regresamos como un arreglo
return [$nombre, $edad, $leGustaProgramar];
}
Obviamente estas variables podrían venir de cualquier lado, aquí las estoy declarando de manera simple. Ahora para obtenerlas y desempacarlas hacemos lo siguiente:
<?php
# Ahora vamos a obtener los valores
list($elNombre, $laEdad, $leGustaProgramar) = obtenerNombreEdadYRespuesta();
echo "El nombre es $elNombre\n";
echo "La edad es $laEdad\n";
echo "Le gusta programar? $leGustaProgramar";
De este modo con list
indicamos el nombre de las variables en el orden que las regresa la función, y después ya tendremos acceso a las mismas.
El código completo queda así:
<?php
function obtenerNombreEdadYRespuesta(){
$nombre = "Luis";
$edad = 23;
$leGustaProgramar = "Sí";
# Regresamos como un arreglo
return [$nombre, $edad, $leGustaProgramar];
}
# Ahora vamos a obtener los valores
list($elNombre, $laEdad, $leGustaProgramar) = obtenerNombreEdadYRespuesta();
echo "El nombre es $elNombre\n";
echo "La edad es $laEdad\n";
echo "Le gusta programar? $leGustaProgramar";
Como podria hacer para imprimir el valor de la variable en una vista. Ejemplo en una vista de un proyecto MVC en codeigniter.
Excelente articulo, muchas gracias por compartir…