Aclaremos unos puntos:
- El error que muestras no es por el uso de return, es por qué tratas de imprimir una estructura de datos compleja con echo que solo te va a servir para imprimir valores primitivos como:
- El uso de return es para que la función devuelva algún resultado procesado
- Si requieres imprimir una estructura de datos como un array entonces debes hacer alguna de estas opciones:
- Has uso de print_r o var_dump
- Itera con un ciclo foreach a tu array y ahora sí por dentro de este podrías imprimir cada elemento del array con echo
Para el caso de ocupar echo hacemos lo siguiente:
foreach($respuesta as $numero)
{
echo $numero."<br />;
}
Iteramos cada posición del array y el valor recuperado por cada vuelta lo almacenamos en la variable $numero la cual ahora sí por dentro del ciclo podemos imprimir con echo
Edición
Si por otro lado tienes una matriz de datos, N cantidad de arrays dentro de otro array principal, hacer lo anterior nos daría la misma notificación que ya obtienes (atendiendo a quien me hizo la observación).
Entonces lo que procede es generar otro ciclo foreach dentro del principal para que podamos iterar los elementos de los arrays internos.
Ejemplo
$datosNivelUno = array(
array(1, 2, 4, 5),
array(6, 7, 9, 10)
);
foreach($datosNivelUno as $nivelPrincipal)
{
foreach($nivelPrincipal as $numeros)
{
echo $numeros.PHP_EOL;
}
}
Resultado:
1
2
4
5
6
7
9
10