Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zér0 > Les tutoriels > Officiels > Site Web > Lecture du tutoriel

Les tableaux (array)

Avatar
Auteur : M@teo21
Créé : le 16/08/2005 18:48:43
Modifié : le 03/07/2008 11:04:43
Noter et commenter ce tutoriel
Imprimer ce tutoriel
Nous entamons ici un aspect très important du PHP : les array.
Vous allez voir qu'il s'agit de variables "composées", que l'on peut imaginer sous la forme de tableau.

On peut faire énormément de choses avec les array, et leur utilisation n'est pas toujours très facile. En réalité, un connaisseur en PHP sera peut-être un peu surpris de trouver ce chapitre dans "les bases du PHP".
Et pourtant, si je fais cela il y a bien une raison : en comprenant ce chapitre, vous n'aurez quasiment aucune difficulté à comprendre la base de données (et c'est légèrement le thème de la partie II de ce cours :D ).

Seulement, pour ne pas trop compliquer les choses, j'ai décidé de séparer le chapitre en 2 : ici nous verrons les bases, juste le strict nécessaire.
Dans la partie III, vous retrouverez les array, et vous apprendrez à faire plein de choses avec :p

Mais trève de bavardages, à l'abordaaaage ! :pirate:
Sommaire du chapitre :
Chapitre précédent Sommaire

Tableaux numérotés

Mais euh, c'est quoi un array au juste ?

Un array, c'est une variable. Mais une variable un peu spéciale.

Reprenons. Jusqu'ici vous avez travaillé avec des variables toutes simples : elles ont un nom et une valeur. Par exemple :

Code : PHP
1
2
3
4
<?php
$prenom = "Nicole";
echo "Bonjour $prenom !"; // Cela affichera : Bonjour Nicole !
?>

Ce qui peut se matérialiser sous la forme :

Nom Valeur
$prenom Nicole

Ici, nous allons voir qu'il est possible d'enregistrer plein d'informations dans une seule variable (bien plus que "Nicole").
C'est très facile à imaginer. Regardez par exemple ce tableau, contenu de la variable $prenoms :

Numéro Valeur
0 François
1 Michel
2 Nicole
3 Véronique
4 Benoît
... ...

$prenoms est un array : c'est ce que j'appelle une variable "tableau". Elle n'a pas qu'une valeur mais plusieurs valeurs (vous pouvez en mettre autant que vous voulez).
Dans un array, les valeurs sont rangées dans des "cases" différentes. Ici, nous travaillons sur un array numéroté.


Attention ! Un array numéroté commence toujours à la case n°0 !
Ne l'oubliez jamais, ou vous risquez de faire des erreurs par la suite...

Pour afficher "Véronique" par exemple, il ne faudra pas juste marquer $prenoms (PHP ne sait pas dans quelle case chercher !). Il va falloir lui dire :

Affiche-moi le contenu de $prenoms dans la case n°3

Et comment on lui dit ça ? :euh:
Il faut écrire le nom de la variable, suivi du numéro entre crochets. Pour afficher "Véronique", on utilisera l'instruction :


Code : PHP
1
2
3
<?php
echo $prenoms[3];
?>

C'est tout bête :)
Par contre si vous oubliez de mettre les crochets, ça ne marchera pas (ça renverra "Array"...). Donc dès que vous travaillez sur des array, vous êtes obligés d'utiliser les crochets pour indiquer dans quelle "case" on doit aller chercher l'information.

Reste maintenant à voir comment créer un array. C'est un peu particulier, il faut utiliser la fonction array.
Cet exemple vous montre comment créer l'array $prenoms :

Code : PHP
1
2
3
4
<?php
// La fonction array permet de créer un array
$prenoms = array ("François", "Michel", "Nicole", "Véronique", "Benoît");
?>

L'ordre a beaucoup d'importance. Le premier élément ("François") aura le n°0, ensuite Michel le n°1 etc etc...
Et puis ma foi, c'est aussi simple que cela. Vous avez vu comment créer un array, et comment afficher le contenu d'une case de l'array.

Je vous propose maintenant de faire un petit script pour résumer. Il doit afficher tout le contenu de notre array $prenoms.
On va donc d'abord commencer par créer cet array comme nous venons juste le voir. Puis nous utiliserons une boucle. On peut se servir d'un while ou d'un for (ça marche tout aussi bien). Là je trouve qu'un for est plus approprié, regardez :

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<?php
// On crée notre array $prenoms
$prenoms = array ("François", "Michel", "Nicole", "Véronique", "Benoît");

// Puis on fait une boucle pour tout afficher :
for ($numero = 0; $numero < 5; $numero++)
{
    echo $prenoms[$numero]; // affichera $prenoms[0], $prenoms[1] etc...
    echo "<br />"; // pour aller à la ligne
}
?>




Magique, n'est-ce pas ? :magicien:

Tableaux associatifs

Bon, alors là on va pas traîner dessus 50 ans pour rien ^^
C'est exactement pareil que ce qu'on vient de voir, sauf qu'au lieu de repérer les "cases" par des numéros, on va nommer ("étiqueter") ces cases.

Par exemple, supposons que je veuille, dans un seul array, enregistrer les coordonnées de quelqu'un (nom, prénom, adresse, ville etc...). Si l'array est numéroté, comment savoir que le n°0 c'est le nom, le n°2 l'adresse ?...

C'est là que deviennent utiles les tableaux associatifs. Pour les créer, on utilisera la fonction array comme tout à l'heure, mais on va mettre "l'étiquette" devant chaque information :

Code : PHP
1
2
3
4
5
6
7
8
<?php
// On crée notre array $coordonnees
$coordonnees = array (
    "Prénom" => "François",
    "Nom" => "Dupont",
    "Adresse" => "3, rue du Paradis",
    "Ville" => "Marseille");
?>


Note importante : il n'y a qu'une seule instruction (un seul point-virgule). J'aurais pu tout mettre sur la même ligne, mais rien ne m'empêche de séparer ça sur plusieurs lignes pour que ça soit plus facile à lire :) .


Vous remarquez qu'on met une flèche (=>) pour dire "associé à". Par exemple, on dit "Ville associé à Marseille".

Et pour afficher le contenu de cet array ?

Eh bien c'est sensiblement pareil que tout à l'heure. On utilisera des crochets, mais on mettra souvent des apostrophes à l'intérieur (ce n'est pas obligatoire mais je préfère vous donner une bonne habitude de suite ^^ ).
Par exemple, pour extraire la ville, on devra taper $coordonnees['Ville'].

Voici un exemple qui marche (encore heureux :D ) :

Code : PHP
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<?php
// On crée notre array associatif :
$coordonnees = array (
    "Prénom" => "François",
    "Nom" => "Dupont",
    "Adresse" => "3, rue du Paradis",
    "Ville" => "Marseille");

// Puis si je veux afficher la ville, je ferai :
echo $coordonnees['Ville'];
?>




Les array associatifs seront très importants dans la partie II de ce cours. En effet, dans la base de données vous aurez bien besoin de ce que vous venez d'apprendre !

Q.C.M.

C'est quoi un array ?
A partir de quel nombre commence un array numéroté ?
Qu'affiche ce code ?Code : PHP
1
2
3
4
<?php
$prenoms = array ("François", "Michel", "Nicole", "Véronique", "Benoît");
echo $prenoms;
?>
Combien peut-on mettre d'informations différentes dans un array ?
Un peu de calcul mental : que vaudra $resultat à la fin de ces calculs ?Code : PHP
1
2
3
4
<?php
$nombres = array (4, 6, 2, 9, -1, 7);
$resultat = ($nombres[2] * $nombres[4] + $nombres[0]) / ($nombres[1] - $nombres[0]);
?>
Une petite application pratique. On enregistre le prix de quelques objets dans un array, et on s'en sert pour calculer le prix total des courses. Combien vaut $total ?

Code : PHP
1
2
3
4
5
6
7
8
<?php
$prix = array (
    "Oeuf" => 1.5,
    "Orange" => 0.5,
    "Chips" => 2
);
$total = (2 * $prix['Oeuf']) + (1 * $prix['Chips']) + (4 * $prix['Orange']);
?>


Et voilà ! On a terminé la partie I !!! :D
Vous ne le savez peut-être pas, mais vous avez appris énormément de choses. En fait, vous venez d'apprendre ce que j'estime le plus dur : le début. Au début, on ne sait rien et il faut s'accrocher pour comprendre des choses qui ont l'air de ne servir à rien. Vous en êtes arrivés au bout : félicitations !

A côté, tous les prochains chapitres devraient vous paraître agréables et simples à lire :)
Continuez comme ça, vous êtes sur la bonne voie. Vous allez bientôt maîtriser le PHP comme des pros !
Chapitre précédent Sommaire
Auteur : M@teo21
Noter et commenter ce tutoriel
Imprimer ce tutoriel

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | Fil RSS | XHTML 1.0 | CSS 2.0
Édité par Simple IT SARL : Nous contacter | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 93 Zéros connectés | Requêtes SQL 10 requêtes | Temps de génération de la page : Total (SQL) 0.0566s (0.0433s)