Podrías hacerlo así:
Código PHP:
Ver originalfunction creaArray($numero){
$numero = $numero <= 9 && $numero > -1 ? $numero : 0;
$array[] = $numero++;
if (count($array) < 10) return creaArray
($numero); $aux = $array;
return $aux;
}
echo implode(', ', creaArray
(7)); //Imprime 7, 8, 9, 0, 1, 2, 3, 4, 5, 6 echo implode(', ', creaArray
(72)); //Imprime 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Envío a la función un valor, en la cual, creo un array y lo asigno a una variable estática para poder realizar llamadas recursivas y poder insertar valores en el array considerando a los previamente insertados. Luego, evalúo el valor del número recibido; si este es menor o igual a 9 y es mayor a -1, lo dejo como está, caso contrario, lo convierto a 0 pues los valores deben de estar en el rango de 0 a 9. Enseguida, asigno el valor al array e incremento su valor en uno.
Finalmente, realizo otra evaluación; si el array contiene menos de 10 elementos, vuelvo a invocar a la misma función, pasándole el valor actualizado del número como argumento, caso contrario, asigno el contenido del array a una variable auxiliar, creo un nuevo array y lo asigno a la variable original del array y devuelvo el array previamente asignado a la variable auxiliar, de este modo, cuando vuelva a hacer llamadas a la función, el array empezará sin valores.
Saludos