Inicia sesión


Bucle foreach para cada número o letra de un rango

Bucle foreach para cada número o letra de un rangoRango? foreach? Mmmmm …. Lo primero que se viene a la cabeza es construir un array con todos los valores del rango y pasar este array por el bucle foreach. Por ejemplo, para hacer un foreach para todos los números entre el 1 y 9, ambos incluidos:
$numeros = array(1, 2, 3, 4, 5, 6, 7, 8, 9);

echo "<ul">;

foreach($numeros as $numero) {
     echo "<li>Número: ". $numero . "</li>;
}

echo "</ul>
El ejemplo anterior es totalmente válido, sólo tiene un «pero». Imagina que queremos hacer el foreach para todos los números entre el 0 y 100.000. ¿Vas a construir el array con todo esos números de forma manual? Ni loco. Si piensas en utilizar un bucle for para construir el array o hacer directamente el bucle, puedes, te saldrá bien:
echo "<ul">;

for($numero = 1, $numero <= 100000, $numero += 1 ) {
     echo "<li>Número: ". $numero . "</li>;
}

echo "</ul>
Y existe otra posibilidad, utilizar la función range(). Esta función nativa de PHP permite crear un array que contenga todos los valores comprendidos en un determinado rango y con el incremento que deseemos entre cada valor. Tiene la siguiente sintaxis:
array range ( mixed $comienzo , mixed $final [, number $incremento = 1 ] )
Por ejemplo:

  • Rango del 0 al 100 con incrementos de 1 (el incremento de 1 puede omitirse): range(0, 100)
  • Rango del 0 al 100 con incrementos de 3: range(0, 100, 3)
Así, podríamos hacer un bucle foreach para todos los números entre 0 y 100.000 con incrementos de 1:
echo "<ul">;

foreach( range(0, 100000) as $numero ) {
     echo "<li>Número: ". $numero . "</li>;
}

echo "</ul>
range() también se puede utilizar con letras. Por ejemplo:
echo "<ul">;

//array("a", "b", "c", "d", "e", "f")
foreach( range("a", "f") as $letra ) {
     echo "<li>Letra: ". $letra . "</li>;
}

echo "</ul>
Para hacer lo mismo con un bucle for habría que echar mano de chr() y controlar el valor decimal de la tabla ASCII correspondientes al rango de letras que deseemos. Por ejemplo, el rango a – f corresponde en la tabla ASCII a 97 – 102:
echo "<ul">;

for( $char = 97, $char <= 102, $char += 1 ) {
     echo "<li>Letra: ". chr($char) . "</li>;
}

echo "</ul>
¿Alguna sugerencia más para bucles sobre un rango de datos?


  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2019-08-11
  • Categorias: Lenguajes De Programacion php WebSite webmasters Noticias Tutorial




Información
Usuarios que no esten registrados no pueden dejar comentarios, te invitamos a que te registre!






Historia de los sistemas operativos

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2019-11-12
  • Categorias: Microsoft Windows Apple Ordenador Noticias Tutorial Informatica

Vacía tu mente, no tengas forma, ni figura

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2019-11-12
  • Categorias: Estilo Noticias Tutorial

Justificante de pago de Google Adsense

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2019-11-12
  • Categorias: Google Adsense WebSite Marketing Noticias Tutorial

Curso de iniciación de JavaScript

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2019-10-21
  • Categorias: Lenguajes De Programacion javascript Cursos Noticias Tutorial

Cómo insertar código JavaScript

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2019-10-21
  • Categorias: Lenguajes De Programacion javascript Cursos Noticias Tutorial

Expresiones JavaScript para especificar valores de atributos en HTML

  • Autor:
  • Editor: Tutoriales En Linea
  • Fecha:2019-10-21
  • Categorias: Lenguajes De Programacion javascript Cursos Noticias Tutorial