Les tableaux en PHP
Sommaire
- 1- Objectifs
- 2- Qu'est-ce qu'un tableau en PHP ?
- 3- La fonction array()
- 4- Les index des tableaux
- 4.1- Les index crées automatiquement
- 4.2- Les index crées manuellement
- 4.3- Exemple
- 5- Création des tableaux
- 5.1- Les tableaux à index numériques : array
- 5.2- Les tableaux associatifs
- 5.3- Exemple
- 6- Applications
- 6.1.1- Cours PHP
Les tableaux en PHP
-
Objectifs
- Etre capable de manipuler les tableaux d’éléments en PHP
-
Qu’est-ce qu’un tableau en PHP ?
- Un tableau est composé d’un certain nombre d’éléments possédant chacun une valeur propre ainsi qu’une clé ou indice, permettant de faire référence à cet élément.
- Les tableaux, aussi appelés arrays en anglais, sont des types de données structurés permettant de grouper des informations ensemble.
- Ne pas confonder avec les tableaux HTML, un tableaux PHP a pour fonction de stocker et manipuler des informations tandis qu’un tableau HTML sert à présenter des données sur un écran.
- Un tableau en PHP est en fait une carte ordonnée. Une carte est un type qui associe des valeurs à des clés.
- Un tableaux en PHP a pour fonction de stocker et manipuler des informations tandis qu’un tableau HTML sert à présenter des données sur un écran.
- Les tableaux représentent un type composé car ils permettent de stocker sous un même nom de variable plusieurs valeurs indépendantes d’un des types de base de PHP.
- En PHP il existe trois types différents de tableaux et chaque valeur de tableau est accessible à l’aide d’un ID appelé index de tableau.
- Tableau numérique : Un tableau avec un index numérique. Les valeurs sont stockées et accessibles de manière linéaire
- Tableau associatif : Un tableau avec des chaînes comme index. Cela stocke les valeurs d’élément en association avec des valeurs de clé plutôt que dans un ordre d’index linéaire strict.
- Tableau multidimensionnel : Un tableau contenant un ou plusieurs tableaux et les valeurs sont accessibles à l’aide de plusieurs index
- Les éléments de ces tableaux peuvent être de type
integer
,double
,boolean
,string
ou mêmearray
, ce qui permet de créer des tableaux de tableaux, c’est-à-dire des tableaux multidimensionnels, ce que PHP ne permet pas explicitement, contrairement à d’autres langages. -
La fonction array()
- La fonction
array()
permet de créer de manière rapide des tableaux indicés ou associatifs. - Pour déclarer un nouveau tableau, il suffit d’utiliser la structure de langage
array()
. Cette fonction prend en paramètres facultatifs (séparés par une virgule), les valeurs que l’on souhaite insérer dans le tableau pour l’initialiser. Si rien n’est précisé en paramètre, le tableau créé sera vide. - Depuis la version 5.4, elle peut être remplacée par une syntaxe courte en écrivant simplement
[]
à la place de la fonctionarray()
. - Dans ce cours en utilisera la fonction
array()
-
Les index des tableaux
-
Les index crées automatiquement
- Un tableau est une liste d’éléments,où chaque élément est repéré par un numéro unique. Ce numéro est appelé index et est attribué automatiquement suivant les ordres.
- Pour comprendre les indexes des tableaux prenant l’exemple suivant:
$apprenants = array( "Thamer", "Mohamed", "Mounira", "Samira", "Tarek" );
- Cette ligne de code garde en mémoire le tableau suivant:
- Les index sont les clés associés à chaque valeur dans un tableau.
- Les index sont les clés des tableaux, ils sont été crées automatiquement.
- Ces types de tableau sont appelés à index numériques.
- Pour plus d’information consultez le cours : les tableaux indexés
-
Les index crées manuellement
- PHP autorise les utilisateurs de définir les index, au lieu de prendre une suite numérique.
$apprenants = array( "Le_premier"=>"Thamer",
"Le_deuxième"=> "Mohamed",
"Le_troisième"=> "Mounira",
"Le_quatrième"=> "Samira",
"Le_cinquième"=> "Tarek" );- Ces types de tableau sont appelés les tableaux associatifs.
- Pour plus d’information consultez le cours : les tableaux associatifs
-
Exemple
-
Création des tableaux
-
Les tableaux à index numériques : array
- La déclaration d’un tableau vide se fait de la même manière qu’une variable, c’est à dire avec un signe dollars (
$
) et un nom. - Le format du nom doit respecter les mêmes règles de déclaration qu’une variable.
- Pour créer des tableaux à index numériques en PHP, on emploi le mot clé
array()
, et on sépare les élément par desvirgules
. - Pour avoir accès à la valeur de chaque élément, on met la variable tableaux suivi de l’indice de l’élément mis entre crochet.
-
Les tableaux associatifs
- Pour créer des tableaux associatifs en PHP, nous utilisons la fonction
array()
et l’opérateur d’association=>
pour associer chaque clé textuelle à une valeur. -
Exemple
-
Applications
- Créer un tableau contenant les nombres premiers inférieures à 100.
- Utiliser une boucle
foreach/for
pour afficher les éléments du tableau (utiliser les balises HTML5). - Écrire un tableau associatif dont les clés sont les numéros des nombres premiers et les valeurs les nombres premiers inférieures à 100.
- Utiliser une boucle
foreach/for
pour afficher les éléments du tableau
Lors de la déclaration d’un tableau en PHP, il est inutile de préciser sa dimension et le type de données qu’il va contenir. PHP s’en charge automatiquement. Les tableaux sont dits dynamiques. A chaque nouvelle entrée enregistrée dans le tableau, PHP agrandit sa taille de 1 élément.
0 | Thamer |
---|---|
1 | Mohamed |
2 | Mounira |
3 | Samira |
4 | Tarek |
les tableaux à index numériques
Exemple:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<?php
echo "<h3>Les tableaux à indexe numérique</h3>";
$apprenants = array( "Thamer", "Mohamed", "Mounira", "Samira", "Tarek" );
echo "<h5>Affichage par élément</h5>";
echo $apprenants[0].'<br>';
echo $apprenants[1].'<br>';
echo $apprenants[2].'<br>';
echo $apprenants[3].'<br>';
echo $apprenants[4].'<br>';
echo "<h3>Affichage avec la boucle for</h3>";
echo "<table border='1'>";
echo "<thead>
<tr>
<th>Indice</th>
<th>Nom</th>
</tr>
</thead>
<tbody>";
for($i=0;$i<count($apprenants);$i++){
echo "<tr><td>$i</td><td>$apprenants[$i]</td></tr>";
}
echo "</tbody></table>";
echo "<h3>Les tableaux associatifs</h3>";
$apprenants = array( "Le_premier"=>"Thamer",
"Le_deuxième"=> "Mohamed",
"Le_troisième"=> "Mounira",
"Le_quatrième"=> "Samira",
"Le_cinquième"=> "Tarek" );
?>
</body>
</html>
Exemple
<?php
$apprenants = array( "Thamer", "Mohamed", "Mounira", "Samira", "Tarek" );
echo $apprenants[0].'<br>';
echo $apprenants[1].'<br>';
echo $apprenants[2].'<br>';
echo $apprenants[3].'<br>';
echo $apprenants[4].'<br>';
?>
$apprenants = array( "Le_premier"=>"Thamer",
"Le_deuxième"=> "Mohamed",
"Le_troisième"=> "Mounira",
"Le_quatrième"=> "Samira",
"Le_cinquième"=> "Tarek" );
echo $apprenants["Le_premier"].'<br>';
echo $apprenants["Le_deuxième"].'<br>';
echo $apprenants["Le_troisième"].'<br>';
echo $apprenants["Le_quatrième"].'<br>';
echo $apprenants["Le_cinquième"].'<br>';
<?php
// Déclaration d'un tableau vide
$fruits = array();
// Déclaration d'un tableau indexé numériquement
$legumes = array('carotte','poivron','aubergine','chou');
// Déclaration d'un tableau associatif
$identite = array(
'nom' => 'Mohamed',
'prenom' => 'MHAMMDI',
'age' => 19,
'estEtudiant' => Oui
);
?>
Solution
<!doctype html>
<html lang="fr">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<title>Les selecteurs complexes</title>
</head>
<body>
<?php
// Déclaration d'un tableau vide
$nbrPremier = array();
//On prend chaque nombre entre 2 et n (0 et 1 n'étant pas premier)
/*Il est possible de l'optimiser en utilisant les constatation du premier code.
-si un nombre n'est pas paire, (pas divisible par 2 qui est le premier test) il ne sera pas divisible par un nombre paire.
-un nombre ne peut pas être divisible par un nombre supérieur à sa raçine*/
echo "<table border='1'>";
echo "<thead>
<tr>
<th>Indice</th>
<th>Nom</th>
</tr>
</thead>
<tbody>";
for( $i=2; $i<=100;$i++) {
$estPremier = true;
for ($j=2;($j<=$i-1) && $estPremier;$j++) {
if($i%$j==0) {
$estPremier=false;
}
}
if($estPremier) {
$nbrPremier[]=$i;
}
}
$m=0;
foreach($nbrPremier as $nbr){
echo "<tr><td>$m</td><td>$nbr</td></tr>";
$m++;
}
/* for($m=0;$m<count($nbrPremier);$m++){
echo "<tr><td>$m</td><td>$nbrPremier[$m]</td></tr>";
}*/
echo "</tbody></table>";
?>
</body>
</html>
- Références:
- https://www.php.net
- Livre PHP7 Cours et exercices Jean Engels 2e édition
- Technologies de l’Information et de la Communication 4 année secondaire