|
Untitled Document
 |
Les tableaux – Partie 2 : Principales fonctions |

|
Tutorial écrit par : Hervé Cosquer - Génération
Outdoor
|
|
Introduction |
|
|
Comme nous l'avons vu dans la première partie, le tableau est
certainement la structure de donnée la plus riche et celle qui
offre le plus de possibilité. A lui seul il est capable de regrouper
tous les autres types de variables. A cet effet PHP a prévu de
nombreuses fonctions pour en exploiter pleinement la puissance.
La deuxième partie du tutorial sur les TABLEAUX va tenter d'expliquer
en profondeur certaine des fonctions les plus importantes.
|
 |
array_walk() |
|
|
Cette fonction permet d'appliquer une fonction définie par l'utilisateur
à tous les éléments d'un tableau. Vous allez comprendre
le gain de temps dans l'exemple suivant:
Voici un tableau comportant une nouvelle identité à rajouter
à notre carnet d'adresse.
<?php
$tab=array(4,"jean","kernalec","28 rue du
Menhir","28000","quimperlet","03 58
97 63 67", "jeanjean@breizh.br","breton");
/*
Affichons le tableau simplement comment au chapitre 1
*/
$i=0;
while ($i<count($tab)) {
echo " $tab[$i]<br>";
$i++;
}
/*
Créons une fonction qui va nous permettre d'afficher dans
le navigateur les coordonnées en rouge et en caractères
gras suivi d'un retour a la ligne
*/
function grasrouge($para)
{
if ($para!=" ")
{
echo "<b><font color= red>$para</font></b><br>";
}
}
/*
Puis nous allons appliquer cette fonction a notre tableau au moyen
de "array_walk()" en fixant comme paramètres :
1) le nom du tableau
2) le nom de la fonction
*/
$tab02= array_walk($tab,'grasrouge');
$i=0;
while ($i<count($tab02)) {
echo " $tabmaj[$i] ";
$i++;
}
?>
|
|
 |
array_merge() |
| |
Vous avez plusieurs tableaux et vous voulez les réunir en 1 seul
pour regrouper les données la fonction array_merge() réunis
autant de tableaux que vous le souhaitez, comme vous l'avez compris les
paramètres de la fonction seront les noms des différents
tableaux.
<?php
$tab2=array("tigre","panthère","singe","tapir","boa");
$tab3=array("lion","girafe","boa","elephant","crocodile");
$tab4=array("gazelle","tigre","hyene","tapir","hypopotame");
$tab_agrandi=array_merge($tab3,$tab4,$tab2);
$i=0;
while ($i<count($tab_agrandi)) {
echo " $tab_agrandi[$i]<br> ";
$i++;
}
?>
|
Et voici le résultat :
lion
girafe
boa
elephant
crocodile
gazelle
tigre
hyene
tapir
hypopotame
tigre
panthère
singe
tapir
boa |
|

|
array_unique() |
| |
Cette fonction va vous permettre de supprimer tous les éléments
présents plusieurs fois dans votre nouveau tableau (celui créé
avec array_merge()). La syntaxe est la suivante :
| <?php
$new_tab = array_unique($tab_agrandi);
?> |
Par contre toutes les clefs d'index sont conservées, même
celles des éléments supprimés.
|
 |
array_values() |
| |
Pour retourner un tableau sans les clefs d'index il faut utiliser la fonction
array_values() avec cette syntaxe:
| <?php
$new_tab2 = array_values($new_tab);
?> |
Voici un exemple complet :
| <?php
$tab2=array("tigre","panthère","singe","tapir","boa");
$tab3=array("lion","girafe","boa","elephant","crocodile");
$tab4=array("gazelle","tigre","hyene","tapir","hypopotame");
$tab_agrandi=array_merge($tab3,$tab4,$tab2);
$tabunique=array_unique($tab_agrandi);
$tabunique2=array_values($tabunique);
$i=0;
while ($i<count($tabunique2)) {
echo " $tabunique2[$i] <br> ";
$i++;
}
?>
|
|
 |
in_array() |
| |
La fonction in_array() est elle aussi remarquable, elle permet
d'examiner un tableau afin d'y rechercher une valeur donnée, si
la valeur est trouvée elle retourne TRUE, on peut donc
utiliser cette fonction avec une instruction if.
| <?php
$animaux = array("tigre","panthère","singe","tapir","boa","éléphant");
if (in_array("boa",$animaux))
{
echo " la valeur a été trouvée dans le
tableau <br>";
}
else
{
echo " Cette valeur n'est pas dans le tableau <br>";
}
?> |
Dans cet exemple, nous recherchons les mot "boa" dans le tableau
"$animaux". Comme celui-ci y figure, le script vous indiquera
que la valeur a été trouvé dans le tableau.
|
 |
count() et sizeof() |
| |
Ces 2 fonctions identiques servent à déterminer le nombre
d'éléments contenus dans un tableau.
| <?php
$animaux = array("tigre","panthère","singe","tapir","boa","éléphant");
$resultat = count($animaux);
echo " $resultat ";
$animaux = array("tigre","panthère","singe","tapir","boa","éléphant");
$resultat2 = sizeof($animaux);
echo " $resultat2 ";
?>
|
Les 2 fonctions vont vous retourner 6 .
|
 |
asort() et arsort() |
| |
Le tri des différents éléments d'un tableau constitue
un cas de figure fréquent dans la gestion des tableaux c'est pourquoi
PHP possède de nombreuses fonction de tri.
Les fonctions asort() et arsort() réalisent
respectivement les tris croissant et décroissant. Pour les tableaux
associatifs ces fonctions conservent les associations d'index.
| <?php
$prenom = array("1"=>"jakc", "2"=>"albert",
"3"=>"cristel", "4"=>"zoé",
"5"=>"bili", "6"=>"nohémi");
asort($prenom);
foreach ($prenom as $key=>$elem)
{
echo "$key => $elem - ";
}
echo"<br><br>";
$prenom = array("1"=>"jack", "2"=>"albert",
"3"=>"cristel", "4"=>"zoé",
"5"=>"bili", "6"=>"nohémi");
arsort($prenom);
foreach ($prenom as $key=>$elem)
{
echo "$key => $elem - ";
}
?>
|
|
 |
sort() et rsort() |
| |
Avec ces fonctions le tri sera identique mais les index seront redéfinis.
|
 |
ksort() et krsort() |
| |
Ces deux fonctions de tri conservent l'ordre initial du tableau mais trient
uniquement les index en ordre croissant et décroissant (k pour
key).
|
 |
range() |
| |
Cette fonction permet de lister dans un tableau des nombres entiers situés
dans une plage de données passée en paramètres.
| <?php
$arr = range(1,10);
foreach ($arr as $elem)
{
echo " $elem ";
}
?>
|
Ce qui donne en sortie :
Sur le même principe avec une chaine de caractères :
| <?php
$arr = range(a,z);
foreach ($arr as $elem)
{
echo " $elem ";
}
?>
|
Ce qui donne en sortie :
| a b c d e f g h i j k l m n o p q r s t u v w x y z |
|
 |
array_unshift() |
| |
Avec array_unshift() vous pouvez rajouter autant de données que
vous désirez au début du votre tableau.
| <?php
$animaux2 = array("tigre","panthère","singe","tapir","boa","éléphant");
$rajoute = array_unshift($animaux2,gorille,crocodile,zebu,buffle);
foreach($animaux2 as $elem)
{
echo " $elem <br>";
}
?>
|
Ce script retourne :
gorille
crocodile
zebu
buffle
tigre
panthère
singe
tapir
boa
éléphant |
|
 |
array_sum() |
| |
Très utile pour faire la somme d'un tableau comprenant des chiffres
ou des nombres
| <?php
$total = array(18647, 583, 252, 964, 65, 987, 85, 2222, 58585, 55,
588, 471, 54875, 5455);
print array_sum($total);
?>
|
Cette script retourne :
|
 |
compact() |
| |
Cette fonction sert à réunir dans un tableau différentes
variables de n'importe quel type, de façon à les traiter
et les déplacer plus facilement.
| <?php
$url = "http://www.generation-outdoor.com";
$email = "contact@generation-outdoor.com";
$nom = "les activité outdoor du sud est de la France";
$motsclef = "plage,kite,montagne,randonnée,snowboard,via-ferrata,eaux
vives";
$description = "Le site permet de découvrir le Var sous
un autre visage celui du sport et des activités extérieurs,
de nombreuses photos et des rubriques ciblées sur les sports
et les rencontres";
$site = compact("url","email","nom","motsclef","description");
foreach ($site as $key=>$elem)
{
echo " $key => $elem <br>";
}
?>
|
Cette script retourne :
url => http://www.generation-outdoor.com
email => contact@generation-outdoor.com
nom => les activité outdoor du sud est de la France
motsclef => plage,kite,montagne,randonnée,snowboard,via-ferrata,eaux
vives
description => Le site permet de découvrir le Var sous un
autre visage celui du sport et des activités extérieurs,
de nombreuses photos et des rubriques ciblées sur les sports
et les rencontres |
|
 |
Conclusion |
| |
La liste des fonctions de tableau est très longue et il faut plus
qu'un tutorial pour en faire le tour mais néanmoins celles présentées
dans ces pages sont parmis les plus usitées et vous serviront régulièrement.
A suivre les tableaux multidimensionnels.
Hervé Cosquer
|
|
|
|