Cours par Webcam

Cours par Webcam

Formateur Web pour adultes depuis plus 11 ans, je vous propose des COURS collectifs par WEBCAM en LIVE pour booster vos connaissances et être autonome dans la création de site.

En savoir plus

PHP - Bases

PHP - Algorithmie

PHP - Chaîne

PHP - Tableau

PHP - Formulaires

PHP - Fonctions Usuelles

Données entres pages

Environnement et Interaction

PHP objet (POO)

Partager sur facebook
Facebook
Partager sur google
Google+
Partager sur twitter
Twitter
Partager sur linkedin
LinkedIn

Les tableaux en PHP

Les tableaux permettent de rassembler plusieurs valeurs. Pour créer un tableau vide on peut utiliser la fonction array()

$tab = array();

Il existe une autre écriture plus simple.

$tab = [];

Pour son remplissage, vous pouvez utiliser deux types de tableau, les tableaux indexés et les tableaux associatifs.

Le tableau indéxé

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 tableu, elle sera géré automatiquement par PHP. Dans un tableau indexé, chaque valeur est repéré par une clé numérique.

clé valeur
0 valeur1
1 valeur2
2 valeur3
3 valeur4

La clé zéro représente la première valeur, la clé un représente la deuxième valeur, etc..

Création d’un tableau indexé

Vous pouvez créer un tableau indéxé rempli de valeurs

$tab = array(1,2,"daniel");

Autre écriture plus simplifiée.

$tab = [1,2,"daniel"];

Vous pouvez aussi créer un tableau vide puis le remplir par la suite.

$tab = array();
$tab[]=1;
$tab[]="daniel";

Lecture d’un tableau indexé

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.

$tab = array(1,2,"daniel");
echo $tab[0]; // affichera 1

Modifier une valeur

Il suffit d’affecter une nouvelle valeur au tableau, avec, entre les crochets [ ], le numéro de la clé correspondant à l’ancienne valeur.

$tab = array(1,2,"daniel");
$tab[0] = 7;
echo $tab[0]; // affichera 7

L’ancienne valeur 1 du tableau, correspondant à la clé zéro, a été remplacée par la valeur 7.

Le tableau associatif

C’est un tableau plus intuitif qui permet de retrouver plus facilement les valeurs. En effet, dans un tableau associatif, chaque valeur est repérée par une chaine de caractères

clé valeur
taille 170
age 30
prenom « daniel »

Création d’un tableau associatif

Vous pouvez créer un tableau associatif rempli de valeurs. Les valeurs sont associées aux clés par la syntaxe =>

$tab = array("taille" => 170,"age" => 30, "prenom" => "daniel");

Autre écriture plus simplifiée.

$tab = ["taille" => 170,"age" => 30, "prenom" => "daniel"];

Vous pouvez aussi créer un tableau vide puis le remplir par la suite.

$tab = array();
$tab["taille"]=170;
$tab["age"]=30;
$tab["prenom"]="daniel";

Lecture d’un tableau associatif

Pour lire une valeur d’un tableau associatif, on appelle la variable avec, entre les crochets [], la clé sous forme de chaîne correspondant à la valeur.

$tab = array("taille" => 170,"age" => 30, "prenom" => "daniel");
echo $tab["taille"]; // affichera 170

Modifier une valeur

Il suffit d’affecter une nouvelle valeur au tableau, avec, entre les crochets [], la clé sous forme de chaîne correspondant à l’ancienne valeur.

$tab = array();
$tab["taille"]=170;
$tab["age"]=30;
$tab["prenom"]="daniel";
$tab["prenom"] = "david";
echo $tab["prenom"]; // affichera 'david'

L’ancienne valeur ‘daniel’ du tableau, correspondant à la clé prenom, a été remplacée par la valeur ‘david’.

Le tableau multidimensionnel

Un tableau peut stocker en mémoire d’autres tableaux qui eux même peuvent stocker aussi des tableaux.. Il est donc possible de créer des tableaux à plusieurs dimensions. C’est ce type de tableau qui est retourné par exemple, lors de la lecture d’enregistrements dans une base de données.

clé valeur
0 [« daniel », 30, 170]
1 [« robert », 27, 190]
2 [« damien », 40, 160]

Création d’un tableau multidimentionnel

Vous pouvez créer un tableau multidimentionnel rempli de valeurs

$tab = array( array(1,2,3), array("a","b","c"), array("dany", "david", "isabelle") );

Le tableau principal contient plusieurs autres tableaux comme valeurs.

Vous pouvez aussi créer un tableau multidimensionnel vide puis le remplir par la suite.

$tab= array();
$tab[0]= array(1,2,3);
$tab[1]= array("a","b","c");
$tab[2]= array("dany", "david", "isabelle");

Lecture d’un tableau multidimentionnel

Pour lire une valeur d’un tableau multidimensionnel à n dimensions, il faudra utiliser n clés.

$tab = array( array(1,2,3), array("a","b","c"), array("dany", "david", "isabelle") );
echo $tab[2][0]; // affichera dany;

On se dirige d’abord sur le troisième sous-tableau avec $tab[2], puis on va lire la première valeur de ce sous-tableau $tab[2][0].

Modifier une valeur

Il suffit d’affecter une nouvelle valeur au tableau, avec, entre les crochets [], les numéros de clé correspondant à l’ancienne valeur.

$tab = array( array(1,2,3), array("a","b","c"), array("dany", "david", "isabelle") );
$tab[2][0] = "daniel"; // anciennement "dany"

L’ancienne valeur ‘dany’ du sous-tableau a été remplacée par la valeur ‘daniel’.

Note : nous avons utilisé dans nos exemples des tableaux indexés, mais il est possible d’utiliser les tableaux multidimensionnels de la même façon avec les tableaux associatifs.

Parcourir un tableau

Php propose un moyen simple pour parcourir un à un tous les éléments d’un tableau, il s’agit de l’instruction foreach(). Il existe deux syntaxes possibles :

– Voici la syntaxe pour parcourir un tableau indéxé :

<?php
$tab = [1,2,3];
foreach($tab as $valeur){
echo $valeur."<br>";
}
?>

Affichage

1
2
3

La fonction foreach() commence par lire la première valeur puis elle lit, à chaque itération, la valeur suivante du tableau. Chaque valeur du tableau que la fonction parcourt est assignée à $valeur.

– Voici la syntaxe pour parcourir un tableau associatif :

<?php
$tab = ['nom'=>'daniel','age'=>30];
foreach($tab as $cle=>$valeur){
echo $cle." : ".$valeur."<br>";
}
?>

Affichage

nom : daniel
age : 30

Le fonctionnement est identique à la précedente avec en plus, la récupération pour chaque valeur, de la clé du tableau assignée à $cle.

La fonction each()

Un autre moyen de récupérer chaque paire clé-valeur est l’utilisation de la fonction each() qui prend en paramètre le tableau à extraire.

Attention toutefois à bien comprendre le fonctionnement de cette fonction : elle retourne la paire clé/valeur courante du tableau et avance le pointeur de tableau. Pour récupérer toutes les paires, il faudra l’appeler plusieurs fois.

Chaque paire est retournée dans un tableau de 4 éléments. Ce tableau contient les informations sur :

  • la valeur, que vous pouvez récupérer, sur la clé (clé indexée) ou la clé value (clé associative).
  • la clé de la valeur, que vous pouvez récupérer, sur la clé 0 (clé indexée) ou la clé key (clé associative).
clé valeur
1 valeur
value valeur
0 clé
key clé

Vous pouvez donc récupérer les informations avec le même tableau de façon indéxée ou associative

<?php
$tab = ['nom'=>'daniel','age'=>30];
$recup = each($tab); // pointeur sur la première valeur
print_r($recup);
echo '<br>';
$recup = each($tab); // pointeur sur la deuxième valeur
print_r($recup);
?>

Affichage

Array ( [1] => daniel [value] => daniel [0] => nom [key] => nom )
Array ( [1] => 30 [value] => 30 [0] => age [key] => age )

Cette fonction est très souvent utilisée dans une boucle while avec la fonction list() qui extrait les valeurs d’un tableau en variables.

<?php
$tab = ['nom'=>'daniel','age'=>30];
while (list($cle, $val) = each($tab)) {
echo "$cle => $val<br>";
}
?>

Affichage

nom => daniel
age => 30

A lire aussi

tutowebdesign

Afficher du contenu au scroll

Afficher du contenu au scroll Voici un effet impressionnant et pourtant très facile à mettre en place sur vos pages. Le principe consiste à faire

Lire »
MegaphoNews - Closer Than Ever

The leading news agency comes to your smartphone.  Download now.

Politique d'utilisation des cookies

En poursuivant votre navigation sur ce site, vous acceptez l’utilisation de cookies. Les cookies nous permettent de personnaliser le contenu, les sorties et d’optimiser notre trafic.