Remplir un array avec range()
Comment remplir un array sans se fatiguer avec la fonction range().
Parfois il arrive qu’on est besoin de crée des array avec tout l’alphabet ou avec des nombres et comme tout le monde le sait, on est souvent feignant. Heureusement on a inventé: range().
Quelques exemples:
<?php $array = range(0,9); // L'array contient: 0 1 2 3 4 5 6 7 8 9 $array = range("a","z"); // L'array contient: a b c d e f g h i j k l m n o p q r s t u v w x y z $array = range("A","Z"); // L'array contient: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ?>
Mais que faire si on a besoin des majuscules et les minuscules en même temps ou même les nombres ?
C’est simple, on utilise array_merge qui permet de rassembler plusieurs array en un seul:
<?php $array = array_merge(range(0,9),range('a','z'),range('A','Z')); // L'array contient: 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ?>
Il arrive aussi qu’on est besoin dans faire une chaine, pour cela on rajoute un petit implode qui permet de rassembler l’array en une chaine:
<?php $array = implode('',array_merge(range(0,9),range('a','z'),range('A','Z'))); // La chaine contient: 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ?>
Pour finir range() à un troisième paramètre introduit dans la version 5.0.0:
<?php $array = range(0, 100, 20); // L'array contient: 0, 20, 40, 60, 80, 100 ?>
La fonction range peut avoir un troisième paramètre qui permet de choisir un intervalle:
range(0, 100, 10)
On génère des nombres entre 0 et 100 avec un intervalle de 10:
array(11) { [0]=> int(0) [1]=> int(10) [2]=> int(20) [3]=> int(30) [4]=> int(40) [5]=> int(50) [6]=> int(60) [7]=> int(70) [8]=> int(80) [9]=> int(90) [10]=> int(100) }
Tous les codes sont testés et sont fonctionnels, si il arrive qu'un de ces codes ne fonctionne pas chez vous, merci de me le signaler.