TP Application Internet
Langage de script PHP _ Tableaux et
Fonctions
Mlle BAKALEM Mahdia
m_bakalem@[Link]
Agenda
Tableaux : Indicés et associatifs
Déclarations
Lecture (each, list et foreach)
Opérations sur les tableaux
Fonctions
Tableaux
Création des tableaux
Un tableau est composé d’un certain nombre d’éléments possédant
chacune une valeur propre ainsi qu’une clé ou indice, permettant de faire
référence à cet élément.
Tableaux indicés ✏ définir individuellement une valeur pour chacun des
ses éléments. Par défaut, l’indice du premier élément d’un tableau est zéro.
$tab[n] = valeur;
$tab = array (val0, val1, val3,…, valn);
Exemple
$nombres = array(1, 2, 3, 4, 5, 6);
$nombres[0]=1; $nombres[1]=2; $nombres[2]=3; … $nombres[5]=6;
Tableau associatif ✏ tableau associant une valeur à une chaîne de
caractères :
$tab_asso[″clé″] = val; // Associe la valeur val à la chaîne 'clé' :
$tab_asso = array (″cléA″=>valA, ″cléB″=>valB, …, ″cléZ″=>valZ);
Exemple
$panier=array( ‘fruit’ => ‘banane’, ‘légume’ => ‘haricot’ );
$panier[‘fruit’]=‘banane’; $panier[‘légume’]= ‘haricot’;
Création des tableaux
Création dynamique :
$a[0]=1;$a[1]=5;
$a[]=-10; $a[2]=-10;
Tableaux de tableaux :
$a=array(
array(1,2,3),
Array(" fruit " => 2, " legume " => 5),
" 10 ");
$a[0]= array(1,2,3); $a[1]= array(" fruit " => 2, " legume " =>
5);$a[2]= " 10 ";
$a[0][0]=1;$a[0][1]=2;$a[0][2]=3…
Lecture des tableaux
La boucle for
<?php
$tab=array("samedi", "dimanche", "lundi ");
For ($i=0; $i<count($tab); $i++)
{
echo "l’élément $i est $tab[$i] <br/>";
}
?>
La boucle while
<?php
$tab=array("samedi", "dimanche", "lundi ");
$i=0;
while (isset($tab[$i]))
{
echo ("L'élément $i est $tab[$i] <br>");
$i++;
}
Lecture des tableaux 1
La fonction each renvoie l'index et la valeur courante dans un tableau à 2
éléments,
$var=each($tab) => $var [0] contient l'index , $var [1] la valeur.
Tableau indicé
$tab=array("samedi", "dimanche", "lundi ");
$tab[9]="jeudi";
Reset ($tab);
while ($element=each($tab))
{ echo ("L'élément d’indice $element[0] a la valeur $element[1] <br>"); }
Echo "<hr>";
Tableau associatif
$tab=array("s"=>"samedi", "d"=>"dimanche", "l"=>"lundi ");
$tab["j"]="jeudi";
Reset ($tab);
while ($element=each($tab))
{ echo ("L'élément de clé $element[key] a la valeur $element[value] <br>"); }
Lecture des tableaux 2
La fonction list( $scalar1, $scalar2, ... ) construit un tableau temporaire à
partir des variables scalaires passées en argument.
List($x, $y) = $tab
Tableau indicé
$tab=array("samedi", "dimanche", "lundi ");
List($x, $y)=$tab;
echo "les deux premiers éléments sont : $x et $y <hr> ";
while (list ($cle, $valeur) = each($tab))
{ echo ("L'élément d’indice $cle a la valeur $valeur <br>"); }
Echo "<hr>";
Tableau associatif
$tab=array("s"=>"samedi", "d"=>"dimanche", "l"=>"lundi ");
List($x, $y)=array_values($tab);
echo "les deux premiers éléments sont : $x et $y <hr> ";
while (list ($cle, $valeur) = each($tab))
{ echo ("L'élément de clé $cle a la valeur $valeur <br>"); }
Lecture des tableaux 3
Exemple
<?php
La boucle foreach
permet également de parcourir des tableaux vus //********lecteur d’un tableau
comme un ensemble de valeur ou de paires clé/valeur indicé**********
Tableau indicé $tab=array("samedi", "dimanche", "lundi ");
foreach ($tab as $jour)
Foreach ($tab as $valeur)
{ echo ("<b> $jour</b> <br>"); }
{ Echo "<hr>";
//bloc d’instruction foreach ($tab as $indice=>$jour)
} { echo ("L'élément d’indice <b> $indice </b>
Tableau a la valeur <b>$jour </b> <br>");}
associatif
Echo "<hr>";
Foreach ($tab as $cle=>$valeur)
//********lecteur d’un tableau
{ associatif********
//bloc d’instruction $tab=array("s"=>"samedi", "d"=>"dimanche",
"l"=>"lundi ");
} foreach ($tab as $cle=>$jour)
{ echo ("L'élément de clé <b> $cle </b> a la
valeur <b> $jour </b> <br>"); }
?>
Autres fonctions
Il existe d’autres fonctions permettant de se déplacer dans
un tableau :
Fonction Description
reset() Remet le pointeur interne de tableau au
début.
pos() Retourne la valeur de l'élément courant d'un
tableau
key() Retourne l'indice de l'élément courant d'un
tableau.
next() Avance le pointeur interne d'un tableau.
prev() Recule le pointeur courant de tableau.
end() Positionne le pointeur de tableau en fin de
tableau.
sizeof() Retourne le nombre d’éléments dans un
tableau
Exemple
<?php
$pays = array ("us" => "Etats-Unis", "ch" => "Suisse",
"ca" => "Canada","fr" => "France","de" =>
"Allemagne");
echo sizeof($pays);
?>
Manipulation
Extraire une partie d’un tableau
$sous_tab= array_slice( array $tab, int ind, int nb);
$sous_tab=array_slice($tab, 2,3);
Ajouter et enlever des éléments
Int array_push($tab, val1, val2, …, valn);
Int array_unshift($tab, val1, val2, …, valn);
Array_pop($tab);
Array_shift ($tab);
Éliminer les éléments double
Array_unique($tab);
Opérations sur les tableaux
Fusionner des tableaux
$tab= array_merge($tab1, $tab2, …, $tabn);
$tab= array_combine($tcle, $tval);
Insertion et différence de deux tableaux
Array array_intersect($tab1, $tab2);
Array_diff($tabl, $tab2);
Mélanger les valeurs de façon aléatoire
Void shuffle(array $tab);
Opérer une sélection des éléments
Array array_fikter(array $[Link] nom_fonction)
Trier les éléments d’un tableau
Tableaux indicés
L’ordre ASCII : Array sort($tab), Array rsort($tab), Array reverse($tab).
L’ordre naturel : Array natsort ($tab), Array natcasesort ($tab)
Un critère personnel : void usort($tab. nom_fonction)
Tableaux associatifs
Les valeurs : void asort(array $tab), void arsort(array $tab), void
uasort(array $tab .string nom_fonction),
Les clés : boolean ksort(array $tab), boolean krsort(array $tab), void
uksort(array $tab .string nom_fonction),
Exercice
Créer un tableau ayant pour valeur les noms des douze mois de
l’année. Quelles sont alors les clés? Parcourir en suite le
tableau pour afficher les mois de l’année sous forme de liste
ordonnée.
Fonctions
Les fonctions
Une fonction est un bloc de code défini une fois, puis invoqué à
partir d’autres endroits du programme.
Une fonction peut accepter un ou plusieurs arguments, accomplit
un ensemble d’opérations prédéfinis selon ces arguments puis
renvoie une valeur en résultat.
function ma_fonction ($arg_1, $arg_2, ..., $arg_n)
{
Exemple :
// Corps de ma fonction... function carre($nombre) {
return $valeur_de_retour ; return $nombre * $nombre ;
}
} echo carre(3) ; //affiche la valeur 9
La portée d’une variable
La portée d’une variable détermine quelles parties du
programme y ont accès.
Pour la plupart des variables, la portée concerne la
totalité d'un script PHP.
Mais, lorsque vous définissez une fonction, la portée
d'une variable définie dans cette fonction est locale à
la fonction.
La portée d’une variable
Exemple :
<?php
$var=″a″ ;
function change_var() {
$var = ″b″ ;
}
change_var() ;
echo(″$var″) ; //affiche ″a″
?>
La portée d’une variable
Pour accéder à une variable globale au sein d’une fonction il
faut la déclarer global au sein de la fonction.
Exemple :
<?php
$var=″a″ ;
function change_var() {
global $var ;
$var = ″b″ ;
}
change_var() ;
echo(″$var″) ; //affiche ″b″
?>