Vous êtes sur la page 1sur 7

1) Les tableaux - PHP

La fonction array() permet de créer une variable de type array.

Déclaration de tableau
<?php
$villes = array('Fontainebleau', 'Paris', 'Lyon');
echo $villes;
?>
Résultat
Array

1. Afficher les valeurs d'un tableau en PHP


Méthode par défaut

Il existe plusieurs méthodes pour afficher les valeurs d'un tableau. Commençons par la
méthode la plus simple. Conservons le même exemple que précédemment, à savoir un tableau
numéroté. Chaque valeur possède une clé unique. Avec la syntaxe ci-dessous, on peut donc
afficher la valeur d'une clé précise.

<?php
$villes = array('Fontainebleau', 'Paris', 'Lyon');
echo $villes[0].' - '.$villes[1].' - '.$villes[2];
?>
Résultat

Fontainebleau - Paris - Lyon

Méthode boucle foreach

La boucle foreach permet de parcourir simplement les tableaux. Elle ne fonctionne d'ailleurs
qu'avec ce type de variable. Il existe deux syntaxes pour cette boucle.

<?php
$villes = array('Fontainebleau', 'Paris', 'Lyon');
foreach($villes as $key => $ville) {
echo $ville.' a la clé '.$key.'<br />';
}
?>
Résultat

Fontainebleau a la clé 0
Paris a la clé 1
Lyon a la clé 2

<?php
$villes = array('Fontainebleau', 'Paris', 'Lyon');
foreach($villes as $key => $ville) :
echo $ville.' a la clé '.$key.'<br />';
endforeach;
?>
Résultat

Fontainebleau a la clé 0
Paris a la clé 1
Lyon a la clé 2

Méthode boucle for

La boucle foreach permet de parcourir simplement les tableaux. Elle ne fonctionne d'ailleurs
qu'avec ce type de variable. Il existe deux syntaxes pour cette boucle.

<?php
$villes = array('Fontainebleau', 'Paris', 'Lyon');
for($i=0 ; $i < cout($villes) ; $i++) {
echo $i.' a la clé '. $villes[$i].'<br />';
}
?>
Résultat

Fontainebleau a la clé 0
Paris a la clé 1
Lyon a la clé 2

<?php
$villes = array('Fontainebleau', 'Paris', 'Lyon');
foreach($villes as $key => $ville) :
echo $ville.' a la clé '.$key.'<br />';
endforeach;
?>
Résultat

Fontainebleau a la clé 0
Paris a la clé 1
Lyon a la clé 2

2. Les tableaux associatifs

Nous avons pour le moment uniquement travaillé avec des tableaux numérotés. Les clés
étaient numériques. Il existe un autre type de tableau où les clés sont des chaînes de
caractères. On parle alors de tableau associatif et en anglais de associative array. Il y a deux
solutions pour créer un tableau associatif.

<?php
$villes = array(
'Fontainebleau' => 77,
'Paris' => 75,
'Lyon' => 69
);
?>

<?php
$villes['Fontainebleau'] = 77;
$villes['Paris'] = 75;
$villes['Lyon'] = 69;
?>

Comme plus tôt dans le chapitre, nous pouvons également matérialiser le tableau associatif.

Clé Valeur
Fontainebleau 77
Paris 75
Lyon 69

3. Modifier un tableau

Vous êtes désormais en mesure de créer un tableau numéroté ou associatif. Dans cette partie,
nous allons aborder la modification d'un tableau : ajout, modification et suppression.

Modifier un élément

Votre tableau est créé et vous souhaitez modifier un élément ? Pour un tableau numéroté ou
associatif, la méthode est la même. Il suffit de suivre la syntaxe décrite dans les exemples ci-
dessous.

<?php
$villes = array('Fontainebleau', 'Paris', 'Lyon');
$villes[0] = 'Melun';
var_dump($villes);
?>
Résultat

array(3) { [0]=> string(5) "Melun" [1]=> string(5) "Paris" [2]=> string(4) "Lyon" }
<?php
$villes = array('Fontainebleau' => 77, 'Paris' => 75, 'Lyon' => 69);
$villes['Fontainebleau'] = 'Seine-et-Marne';
var_dump($villes);
?>
Résultat

array(3) { ["Fontainebleau"]=> string(14) "Seine-et-Marne"

["Paris"]=> int(75)

["Lyon"]=> int(69) }
4. Ajouter un élément

Votre tableau est créé et vous souhaitez ajouter un élément supplémentaire ? Première
solution, ajouter l'élément avec une clé précise dans le tableau.

<?php
$villes = array('Fontainebleau', 'Paris', 'Lyon');
$villes[9] = 'Nantes';
var_dump($villes);
?>
Résultat

array(4) { [0]=> string(13) "Fontainebleau" [1]=> string(5) "Paris" [2]=> string(4) "Lyon" [9]=> string(6)
"Nantes" }

<?php
$villes = array('Fontainebleau' => 77, 'Paris' => 75, 'Lyon' => 69);
$villes['Nantes'] = 44;
var_dump($villes);
?>
Résultat

array(4) { ["Fontainebleau"]=> int(77)

["Paris"]=> int(75)

["Lyon"]=> int(69)

["Nantes"]=> int(44) }

Dans les deux exemples, nous avons inséré le nouvel élément avec la clé que nous
souhaitions. Ce n'est pas toujours ce que l'on souhaite. En effet, nous ne connaissons pas
toujours la taille du tableau et nous pouvons aisément écraser une clé et une valeur déjà
existante. Il existe donc un raccourci qui ajoute automatiquement une valeur avec une clé
libre. Ce raccourci ajoute l'élément à la fin du tableau et cherche la plus petite clé numérique
possible libre pour ajouter la valeur. Exemple :

<?php
$villes = array('Fontainebleau', 'Paris', 'Lyon');
$villes[] = 'Nantes';
var_dump($villes);
?>
Résultat

array(4) { [0]=> string(13) "Fontainebleau"


[1]=> string(5) "Paris"
[2]=> string(4) "Lyon"
[3]=> string(6) "Nantes" }
<?php
$villes = array('Fontainebleau' => 77, 'Paris' => 75, 'Lyon' => 69);
$villes[] = 44;
var_dump($villes);
?>
Résultat

array(4) { ["Fontainebleau"]=> int(77)


["Paris"]=> int(75)
["Lyon"]=> int(69)
[0]=> int(44) }

Dans l'exemple avec le tableau numéroté, la plus petite valeur possible à la fin du tableau est
3, car les clés 0, 1 et 2 sont déjà prises. Dans l'exemple avec le tableau associatif, le cas est un
peu différent. En effet, le raccourci n'ajoute pas une chaîne de caractères aléatoires comme
clé, mais cherche la clé numérique la plus petite possible de libre. En l'occurence, la clé 0 est
disponible.

5. Supprimer un élément

Pour différentes raisons, on peut être amené à supprimer un élément d'un tableau. La
fonction à utiliser pour cette action est unset(). Elle est très simple à utiliser. Elle permet
également de supprimer complètement une variable.

<?php
$villes = array('Fontainebleau' => 77, 'Paris' => 75, 'Lyon' => 69);
$villes['Nantes'] = 44;
unset($villes['Paris']);
var_dump($villes);
?>
Résultat

array(3) { ["Fontainebleau"]=> int(77)


["Lyon"]=> int(69)
["Nantes"]=> int(44) }

6. Compter les éléments d'un tableau

Il peut être utile de compter le nombre d'éléments que contient un tableau. Pour répondre à ce
besoin, il existe une fonction qui porte très bien son nom, count(). Elle s'utilise de la
manière suivante :

<?php
$villes = array('Fontainebleau', 'Paris', 'Lyon');
$n_villes = count($villes);
echo 'Il y a '.$n_villes.' éléments dans le tableau $villes.';
?>
Résultat

Il y a 3 éléments dans le tableau $villes.


7. Rechercher une valeur dans un tableau

La fonction in_array() permet de vérifier si une valeur existe dans une variable de type
array, un tableau. Elle retourne TRUE si c'est le cas, et FALSE dans le cas inverse.

<?php
$villes = array('Fontainebleau', 'Paris', 'Lyon');

$ville_recherche = 'Paris';
if(in_array($ville_recherche, $villes)) :
echo 'Oui, la clé '.$ville_recherche.' existe dans le tableau
$villes.';
else :
echo 'Non, la clé '.$ville_recherche.' n\'existe pas dans le tableau
$villes.';
endif;
?>
Résultat

Oui, la clé Paris existe dans le tableau $villes.

Rechercher une clé dans un tableau

La fonction array_key_exists() permet de vérifier si une clé existe dans un tableau. Elle
retourne TRUE si c'est le cas, et FALSE dans le cas inverse.

<?php
$villes = array(
'Fontainebleau' => 77,
'Paris' => 75,
'Lyon' => 69
);
$ville_recherche = 'Marseille';

if(array_key_exists($ville_recherche, $villes)) :
echo 'Oui, la clé '.$ville_recherche.' existe dans le tableau
$villes.';
else :
echo 'Non, la clé '.$ville_recherche.' n\'existe pas dans le tableau
$villes.';
endif;
?>
Résultat

Non, la clé Marseille n'existe pas dans le tableau $villes.

Fonctions agissant sur les tableaux


Comme pour les chaînes de caractères, les fonctions qui agissent sur les tableaux sont nombreuses et
diversifiées. Cependant, nous nous contenterons des plus utiles:
 count($tab) ou sizeof($tab): retourne un entier qui indique le nombre d'entrées du tableau.
 in_array($var,$tab): vérifie si la variable $var existe dans le tableau. Si oui la fonction
in_array() retourne true sinon elle retourne false.
 list($var1,$var2,$var3...): affecte chacune des entrées du tableau respectivement au
variables $var1, $var2, $var3...
 shuffle($tab): mélange le contenu du tableau en changeant l'indexe des entrées
aléatoirement.
 sort($tab): trie dans l'ordre alphanumérique les éléments du tableau.
 rsort($tab): trie dans l'ordre alphanumérique inverse les éléments du tableau.
 array_rand($tab): retourne l'indexe de l'une des entrée du tableau aléatoirement.
 array_merge($tab1,$tab2,$tab3...): retourne un seul grand tableau qui contient les
éléments des tableaux $tab1, $tab2, $tab3...
 implode($sep,$tab) ou join($sep,$tab): retourne une chaîne de caractères constituée des
éléments du tableaux séparés par le contenu de la variable $sep.
 explode($occ,$str): cette fonction s'applique sur les chaînes de caractères. Elle crée un
tableau en éclatant la chaîne $str au niveau des occurrences $occ.

Exemples:
<?php
$tab=array("PHP","Coté client",60);
echo count($tab); // Affiche: 3

if(in_array("PHP",$tab))
echo "Existe";
else
echo "N'existe pas";
// Affiche: Existe

list($a,$b,$c)=$tab;
echo "$a - $b - $c"; // Affiche: PHP - Coté client - 60

echo implode(" - ",$tab); // Affiche: PHP - Coté client - 60

echo array_rand($tab); // Affiche soit: 0, 1 ou 2


echo $tab[array_rand($tab)]; // Affiche soit: PHP, Coté client ou 60

$str="Bonjour";
$tab=explode("o",$str);
echo implode("*",$tab); // Affiche: B*nj*ur
?>

Vous aimerez peut-être aussi