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";
Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto