Les tableaux indexés en PHP
Les tableaux indexés en PHP
-
Objectifs
- Connaitre les tableaux indexés en PHP
-
Présentation
- Un tableau indexé est une liste d’éléments repérées chacun par un index numérique unique. Le premier élément du tableau sera repéré par l’index 0, le second par l’index 1, le troisième par l’index 2 et ainsi de suite.
- Un tableau indexé, c’est un tableau qui contient une liste d’éléments. Chaque élément est séparé par une virgule. il n’y pas à déclarer la taille du tableau, elle sera géré automatiquement par PHP. Dans un tableau indexé, chaque valeur est repéré par une clé numérique.
-
Création d’un tableau indexé
- Pour créer un tableau indexé en PHP il existe plusieurs méthodes ou écritures:
-
Première écriture
-
Syntaxe:
- $nom_tableau= array(element1,element2,element3…..)
-
Exemple:
-
Description
- Ce tableau est une variable en lui même puisqu’il commence par $
- Les éléments du tableau peuvent être de même type ou de type différent
- l’index de ce tableau commence à 0, donc dimanche aura pour index 6 et non 7 dans l’exemple précédent.
-
Deuxième écriture
-
Syntaxe:
- $nom_tableau= array ();
- $nom_tableau []= element1;
- $nom_tableau []= element2;
- $nom_tableau []= element3;
-
Exemple:
-
Description
- Pour cette écriture les indexes sont implicites et c’est le compilateur qui en déduit les valeurs qui commencent par défaut de 0 et s’incrémentent de 1.
- $semaine=array(); est facultative. Mais le fait de la déclarer est vu comme une bonne habitude.
- Ici on a crée un tableau vide puis on l’a rempli par la suite.
-
Troisième écriture
-
Syntaxe:
- $nom_tableau= array ();
- $nom_tableau [0]= element1;
- $nom_tableau [6]= element2;
- $nom_tableau [5]= element2;
-
Exemple:
-
Description
- Dans cette écriture les indexes de 1 à 4 n’existent pas, et par conséquent les variables de $tab[1] jusqu’à $tab[4] n’existent pas.
- $semaine=array(); est facultative. Mais le fait de la déclarer est vu comme une bonne habitude.
-
Quatrième écriture
-
Syntaxe:
- $nom_tableau= [element1,element2,element3…..]
-
Exemple:
-
Description
- C’est l’écriture le plus simplifiée
-
Afficher les valeurs d’un tableau indexé en PHP
- Il existe plusieurs méthodes pour afficher les valeurs d’un tableau indexé en PHP. Commençons par la méthode la plus simple.
- Conservons le même exemple que précédemment, à savoir un tableau numéroté.
-
Lecture d’une valeur
- Pour lire une valeur d’un tableau indexé, on appelle la variable avec, entre les crochets [ ], le numéro de la clé correspondant à la valeur.
- En précisant la clé souhaitée entre un crochet ouvrant et fermant à la suite de la variable de type
array
, on accède à la valeur. - Cette solution fonctionne très bien si vous connaissez le nombre d’éléments que contient votre tableau ou que vous souhaitez afficher la valeur d’une clé précisément.
-
Lecture de plusieurs valeurs
- Pour lire tous les élément d’un tableau, la solution c’est à utiliser la boucle
for
ou la bouclewhile
. Cependant, PHP inclue une structure de contrôle qui s’applique spécialement aux tableaux. Il s’agit de la structureforeach
. - La boucle
foreach
permet de parcourir simplement les tableaux. Elle ne fonctionne d’ailleurs qu’avec ce type de variable. Il existe deux syntaxes pour cette boucle. -
Modifier une valeur dans un tableau indexé
- Pour modifier une valeur dans un tableau indexé,il suffit d’affecter une nouvelle valeur au tableau, avec, entre les crochets [ ], le numéro de la clé correspondant à l’ancienne valeur.
-
Applications
-
App01
- Considérez l’instruction PHP suivante.
- Mettez la déclaration dans un script HTML/PHP.
- Écrivez une boucle foreach qui imprime ces mois.
- Notez que les mois peuvent être récupérés sous la forme $mois[0] $mois(11).
-
App02
- Écrivez un script PHP pour générer des nombres aléatoires uniques dans une plage.
- Plage d’échantillonnage : (11, 20)
- Références:
- Livre PHP7 Cours et exercices Jean Engels 2e édition
<?php
$semaine=array('lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche');
?>
<?php
$semaine=array();
$semaine[]='lundi';
$semaine[]='mardi';
$semaine[]='mercredi';
$semaine[]='jeudi'
$semaine[]='vendredi'
$semaine[]='samedi';
$semaine[]='dimanche';
?>
<?php
$semaine=array();
$semaine[0]='lundi';
$semaine[6]='mardi';
$semaine[5]='mercredi';
?>
<?php
$semaine=['lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche'];
?>
$semaine=['lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche'];
echo $semaine=[0];//Affichera lundi
<?php
$semaine=['lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche'];
foreach($semaine as $jour){
echo "$jour <br />";
}
?>
<?php
$semaine=['lundi','mardi','mercredi','jeudi','vendredi','samedi','dimanche'];
$semaine[0] =' Lundi';
$month array('Novembre', 'Juillet', 'Janvier', 'Mars', 'Avril', Mai', 'Juin', 'Août', 'Septembre', 'Février'. Décembre', Octobre);
Solution
foreach (Smonth as $item) echo Sitem ? echo "
" ;
Solution
$n=range(11,20);
shuffle($n);
for ($x=0; $x< 10; $x++)
{
echo $n[$x].' ';
}
echo "\n";