Menu


Warning: Use of undefined constant nom_chapitre - assumed 'nom_chapitre' (this will throw an Error in a future version of PHP) in /home/maths/www/sio/www/cours_php/menu.php on line 7
IntroductionTableauxBouclesVariablesConditionsE/L fichierLes fonctionsRequêtes préparéesLes datesPratiquespseudo-frameSession Template
Cinque Terre

Les tableaux numérotés

Les tableaux numérotés

Un exemple d'un tableau, contenu de la variable $prenoms :

Clé

Valeur

0

François

1

Michel

2

Nicole

3

Véronique

4

Benoît

$prenoms est un array : c'est ce qu'on appelle une variable « tableau ». 

Dans un array, les valeurs sont rangées dans des « cases » différentes. Ici, nous travaillons sur un array numéroté, c'est-à-dire que chaque case est identifiée par un numéro. Ce numéro est appelé clé.

Attention ! Un array numéroté commence toujours à la case n°0 .

Construire un tableau numéroté

Pour créer un tableau numéroté en PHP, on utilise la fonction array.

Cet exemple vous montre comment créer l'array $prenoms :

Si vous ne voulez pas avoir à écrire vous-mêmes le numéro de la case que vous créez, vous pouvez laisser PHP le sélectionner automatiquement en laissant les crochets vides :

Afficher un tableau numéroté

Pour afficher un élément, il faut donner sa position entre crochets après $prenoms. Cela revient à dire à PHP :

« Affiche-moi le contenu de la case n°1 de $prenoms. »

Pour faire cela en PHP, il faut écrire le nom de la variable, suivi du numéro entre crochets. Pour afficher « Jules », on doit donc écrire :

Si vous oubliez de mettre les crochets, ça ne marchera pas (ça affichera juste « Array »…). Dès que vous travaillez sur des arrays, vous êtes obligés d'utiliser les crochets pour indiquer dans quelle « case » on doit aller chercher l'information, sinon PHP ne sait pas quoi récupérer.

Exercice 1: On a le tableau suivant: $tab = array('0','Karim','TEST','Cahier')

Quelle est la valeur  $tab[1] , $tab[5] .

Exercice 2: Créer un tableau avec les valeurs suivantes: php, sql, html, css, jquery

Les tableaux associatifs

Les tableaux associatifs fonctionnent sur le même principe, sauf qu'au lieu de numéroter les cases, on va les étiqueter en leur donnant à chacune un nom différent.

Beaucoup étulisés lors de la manipulation des données issues  d'un formulaire.

Exemple: $_POST est une variable globale (tableau).

Construire un tableau associatif

Pour en créer un, on utilisera la fonction array :  array ( 'clé' => 'valeur, 'clé1' => 'valeur1', ...)

Vous remarquez qu'on écrit une flèche (=>) pour dire « associé à ». Par exemple, on dit « ville » associée à « Marseille ».

Nous avons créé un tableau qui ressemble à la structure suivante :

Clé

Valeur

prenom

Fadel

nom

Hadek

adresse

3 Rue du Paradis

ville

Bressuire

Il est aussi possible de créer le tableau case par case, comme ceci :

Afficher un tableau associatif

Pour afficher un élément, il suffit d'indiquer le nom de cet élément entre crochets, ainsi qu'entre guillemets ou apostrophes puisque l'étiquette du tableau associatif est un texte.

Par exemple, pour extraire la ville, on devra taper :  echo $coordonnees['ville'];

Comme vous l'avez vu dans mes exemples, ils ne servent pas à stocker la même chose…

  • Les arrays numérotés permettent de stocker une série d'éléments du même type, comme des prénoms. Chaque élément du tableau contiendra alors un prénom.

  • Les arrays associatifs permettent de découper une donnée en plusieurs sous-éléments. Par exemple, une adresse peut être découpée en nom, prénom, nom de rue, ville…

Exercice 3:

a) Créer un tableau associatif  avec les valeurs suivantes : clés ( maths,français,histoire,svt) et valeurs( Hadek, Vion,Cap,Pascal).

b) Afficher les valeurs de ce tableau dans une table HTML (utiliser foreach)

 

Parcourir un tableau

Un tableau numérique

1) La boucle for

 

-tester se code pour voir le résultat?

On peut avoir le nombre des valeurs d'un tableau à l'aide de la fonction:array_count_values 

2) La boucle foreach

foreach  C'est une sorte de boucle for spécialisée dans les tableaux.

 

 

 

-tester ce code?

3) print_r et var_dump

 print_r ou var_dump C'est une sorte de echo spécialisé dans les arrays. 

Il faut donc utiliser la balise HTML <pre>  qui nous permet d&#39;avoir un affichage plus correct.

 

Tester ce code?

Un tableau associatif

1)La boucle foreach

Pour afficher que les éléments: 

 

 Tester ce code ?

Pour afficher les clés et les valeurs:

 

le résultat:

   prenom vaut HADEK
    nom vaut Fadel
    adresse vaut 3 Rue du Paradis
    ville vaut Bressuire

2) print_r ou var_dump

 

Exercice :

Ecrit le programme qui affiche les valeurs et les clés d'un tableau dans un tableau html comme suit: 

clé valeur
prenom Hadek
... ...

 

Rechercher dans un tableau

Nous allons maintenant faire des recherches dans des arrays. Cela vous sera parfois très utile pour savoir si votre array contient ou non certaines informations.
Nous allons voir trois types de recherches, basées sur des fonctions PHP :

  • array_key_exists : pour vérifier si une clé existe dans l'array : <code><?php array_key_exists('cle', $array); ?></code>

  • in_array : pour vérifier si une valeur existe dans l'array ;

    exemple:

  • array_search : pour récupérer la clé d'une valeur dans l'array.

si elle a trouvé la valeur, array_search renvoie la clé correspondante (c'est-à-dire le numéro si c'est un array numéroté, ou le nom de la clé si c'est un array associatif);

si elle n'a pas trouvé la valeur, array_search renvoie false.

exemple:

Exercice 5 :

Remplacer la boucle normale par une boucle foreach pour imprimer le tableau ci-après.

1 Janvier 2 Février 3 Mars
4 Avril 5 Mai 6 Juin
7 Juillet 8 Aout 9 Septembre
10 Octobre 11 Novembre 12 Décembre

Exercice 6:

Ecrire à l'aide des tableaux php un programme capable d'afficher un dicton déffirent à chaque  deux heures de la journée:

une idée

Les tableaux multidimensionnels

Ce sont des tableaux de tableaux.

Explications : 

Pour créer une matrice, nous devons mettre en place un tableau de tableaux. A chaque index numérique (ligne du tableau), nous associons un nouveau tableau de 3 cases (qui représente les 3 colonnes de la ligne). Si nous souhaitons accéder à la case du milieu du jeu de morpion, nous devons nous rendre à la ligne n°2 (index 1) et à la colonne n°2 (index 1). Ce qui donne :Accès à la valeur de coordonnées (1,1)

Accès à la valeur de coordonnées (1,1)

Concrètement, pour accéder à une valeur d'une matrice, il faut y faire référence de cette manière :

Principe d'accès à une valeur d'une matrice

la Matrice[ numéroDeLigne ][ numéroDeColonne ]

Exemple d'un tableau multidimensionnelle: La variable globale $_FILES

Exercice 7:

1- Créer une matrice(3,3) avec les valeurs  de 0 à 8.

2- Créer une matrice(3,3) avec les valeurs  de 10 à 18.

3- Fait la somme des deux matrice à l'aide des foreach

Exercice 8: 

1- Créer un formulaire capable de receptionner les valeurs d'une matrice (3,3)

2 - Afficher les valeurs de cette matrice.

voir la démo


Copyright © HADEK Fadel SIO 2016

47