Les Tableaux
Article écrit par kazhar
Il existe un certain type de variables qui peut contenir plusieurs valeurs: les tableaux(array). Un tableau est une sorte de classeur permettant de stocker plusieurs données.
Tableaux scalaires
La fonction permettant de créer un table est array()
créons un tableau ayant comme nom "couleur" et contenant les valeurs "rouge", "vert" et "bleu".
Code :
<?php
$couleur = array("rouge", "vert", "bleu");
?>
Nous pouvons directement acceder à une donnée du tableau en précisant le numéro de l'enregistrement: l'index (indice) de la donnée. Le premier élément d'un tableau a pour index 0; $couleur[0] correspond donc à la premiere valeur du tableau, c'està dire "rouge".
Code :
<?php
$couleur = array("rouge", "vert", "bleu");
echo "deuxieme élément du tableau: $couleur[1]");
?>
affichera :
deuxieme élément du tableau: vert
La modification d'un élément d'un tableau se fit en affectant une valeur directement à l'élément en question.
Code :
<?php
$couleur = array("rouge", "vert", "bleu");
$couleur[0] = "jaune";
?>
Pour ajouter une valeur à un tableau, il suffit de réaliser une affectation sur un élément n'existant pas: $couleur[];
Code :
<?php
$couleur = array("rouge", "vert", "bleu");
$couleur[] = "orange";
echo "$couleur[3]";
?>
affichera :
orange
Il est possible d'avoir un apreçu rapide d'un tableau avec la fonction print_r()
Code :
<?php
$couleur = array("rouge", "vert", "bleu");
print_r($couleur);
Array ( [0] => rouge [1] => vert [2] => bleu )
?>
D'autres fonctuions peuvent etre interessantes pour travailler avec des tableaux:
- sizeof(): retourne la taille du tableau
- array_pop(): retourne le dernier élément du tableau et le supprime de celui-ci
array_shift(): similaire à array_pop() avec le prmier élément du tableau.
- sort(): classe le tableau.
Testons ces fonctions...
Code :
<?php
echo "<b>tableau initial: </b><br>";
$tab = array("paris, quimper", "cannes", "boulogne", "hardelot");
print_r($tab);
echo "<br><b>array_pop nous retourne: </b>";
print (array_pop($tab));
echo "<br>><b>contenu du tableau: </b><br>";
print_r($tab);
echo "<br><br>taille du tableau obtenue avec sizeof: </b>";
print(array_shift($tab));
echo "<br><b>contenu du tableau: </b><br>";
print_r($tab);
echo "<br><b>classement du tableau avec sort: </b><br>";
sort($tab);
print_r($tab);
?>
nous retournera la page suivante :
tableau initial:
Array ( [0] => paris [1] => quimper [2] => cannes [3] => boulogne [4] => hardelot )
array_pop nous retourne: hardelot
contenu du tableau:
Array ( [0] => paris [1] => quimper [2] => cannes [3] => boulogne )
taille du tableau obtenue avec sizeof: 4
array_shift nous retourne: paris
contenu du tableau:
Array ( [0] => quimper [1] => cannes [2] => boulogne ) classement du tableau avec sort
Array ( [0] => boulogne [1] => cannes [2] => quimper )
En PHP, les chaines de caractère peuvent etre considérées comme des tableaus scalaires Il est ainsi possible d'acceder à chaque ceractère séparément:
Code :
<?php
$str = "hello";
echo $str[0];
echo $str[4];
?>
affichera sur notre page :
h
o
Les tableaux associatifs
Il existe une autre catégorie de tableaux: les tableaux associatifs. Dans cux-ci, nous accedons aux données non plus par un index, mais par une clef.
Code :
<?php
$tab = array("nom" => "Dupont", "prenom" => "Paul", "age" => "23);
?>
Lorsque nous souhaitons acceder à l'élément nom du tableau, il suffit d'écrire :
Code :
<?php
$tab["nom"]
Pour changer l'age, c'est aussi simple
$tab["age"] = 34
?>
Voici un exemple:
Code :
<?php
$tab = array("nom" => "Dupont", "prenom" => " Paul", "age" => 23);
echo '$tab["nom"]<br />';
$tab["age"] = 34;
echo $tab["age"];
?>
affichera :
Dupont
34
Il est possible de créer des tableaux dans des tableaux, donner un tableau comme valeur à une clef.
Fonctions utiles avec les tableaux
Source : http://www.phportail.net