Foros del Web » Programando para Internet » PHP »

Generar array php con números de 0 a 9

Estas en el tema de Generar array php con números de 0 a 9 en el foro de PHP en Foros del Web. Hola amigos, Pues eso... quiero crear un array a partir de un número dado de una variable. El número de la variable tiene que ser ...
  #1 (permalink)  
Antiguo 28/06/2014, 15:23
Avatar de yonox  
Fecha de Ingreso: abril-2014
Ubicación: Madrid
Mensajes: 15
Antigüedad: 10 años
Puntos: 0
Generar array php con números de 0 a 9

Hola amigos,

Pues eso... quiero crear un array a partir de un número dado de una variable. El número de la variable tiene que ser el primero en el array(array[0]) despues en orden consecutivo los números que queda hasta el total de 10 (de 0 a 9). Sería algo así:

$variable = 7;

$array = [7, 8, 9, 0, 1, 2, 3, 4, 5, 6];

Gracias por adelantado....
  #2 (permalink)  
Antiguo 28/06/2014, 16:42
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: Generar array php con números de 0 a 9

Podrías hacerlo así:

Código PHP:
Ver original
  1. function creaArray($numero){
  2.     static $array = array();
  3.     $numero = $numero <= 9 && $numero > -1 ? $numero : 0;
  4.     $array[] = $numero++;
  5.     if (count($array) < 10) return creaArray($numero);
  6.     $aux = $array;
  7.     $array = array();
  8.     return $aux;
  9. }
  10.  
  11. echo implode(', ', creaArray(7)); //Imprime 7, 8, 9, 0, 1, 2, 3, 4, 5, 6
  12. 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
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 28/06/2014, 16:49
Avatar de yonox  
Fecha de Ingreso: abril-2014
Ubicación: Madrid
Mensajes: 15
Antigüedad: 10 años
Puntos: 0
Respuesta: Generar array php con números de 0 a 9

Gracias, gracias, gracias.... Probado y funciona perfectamente... Gracias Tio
  #4 (permalink)  
Antiguo 28/06/2014, 18:12
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: Generar array php con números de 0 a 9

Otra opcion mas

Código PHP:
Ver original
  1. function generador($numero,$min=0,$max=9)
  2. {
  3.     $out = array();
  4.     if ($numero<$min) $numero=$min;
  5.     if ($numero>$max) $numero=$max;
  6.    
  7.     for ($i=$numero;$i<$max;$i++)
  8.         $out[] = $i;
  9.     for ($i=$min;$i<$numero;$i++)
  10.         $out[] = $i;   
  11.        
  12.     return $out;   
  13. }
  14.  
  15. var_dump (generador(7));


Admite un minimo y maximo...... ejemplo:

Código PHP:
Ver original
  1. var_dump (generador(7,2,9));  // entre 2 y 9
__________________
Salu2!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:59.