• Aucun résultat trouvé

Cours php les Tableaux

N/A
N/A
Protected

Academic year: 2021

Partager "Cours php les Tableaux"

Copied!
30
0
0

Texte intégral

(1)

Chapitre 2 :Tableaux

Pr. Aissam MESRAR

(2)

Tableaux

(3)

Tableaux

Tableaux

Un tableau est une structure qui peut contenir plusieurs

Un tableau est une structure qui peut contenir plusieurs

valeurs

valeurs

Les données d’un tableau ne sont pas forcément de

Les données d’un tableau ne sont pas forcément de

même type

même type

La taille d’un tableau est dynamique

La taille d’un tableau est dynamique

10

(4)

Tableaux

Tableaux

Deux types de tableaux :

Deux types de tableaux :

Tableaux scalaires : tableaux conventionnels

Tableaux scalaires : tableaux conventionnels

Tableaux associatifs

Tableaux associatifs

(5)

Tableaux scalaires

Tableaux scalaires

Les éléments d’un tableau sont référencés par

Les éléments d’un tableau sont référencés par

des indices entiers

des indices entiers

Les indices sont par défaut successifs

Les indices sont par défaut successifs

Le premier indice est 0

Le premier indice est 0

Le dernier est : nombre d’éléments – 1

Le dernier est : nombre d’éléments – 1

0

0

1

1

2

2

3

3

Elem1

(6)

Tableaux scalaires

Tableaux scalaires

Initialisation

Initialisation

Un tableau est initialisé par la fonction

Un tableau est initialisé par la fonction

array()

array()

$nom_tab = array(val1,val2,val3,…);

$nom_tab = array(val1,val2,val3,…);

Exemple :

Exemple :

$couleurs=array("rouge","vert","bleu");

$couleurs=array("rouge","vert","bleu");

Affichage d’un tableau

Affichage d’un tableau

Le tableau peut être affiché en entier par la fonction print_r ()

Le tableau peut être affiché en entier par la fonction print_r ()

print_r($nom_tab);

print_r($nom_tab);

(7)

Tableaux scalaires

Tableaux scalaires

Accès aux éléments du tableau

Accès aux éléments du tableau

Un élément du tableau est accédé via son indice

Un élément du tableau est accédé via son indice

$nom_tab[indice]

$nom_tab[indice]

Exemple:

Exemple:

$couleurs[2]= "gris";

$couleurs[2]= "gris";

print($couleurs[0]);

print($couleurs[0]);

$ma_couleur = $couleurs[1];

$ma_couleur = $couleurs[1];

(8)

Tableaux scalaires

Tableaux scalaires

Affectation des tableaux

Affectation des tableaux

A la différence des langages classiques, on peut

A la différence des langages classiques, on peut

affecter un tableau à un autre.

affecter un tableau à un autre.

$tab1 = $tab2;

$tab1 = $tab2;

Permet de copier tous les éléments de $tab2 dans $tab1

Permet de copier tous les éléments de $tab2 dans $tab1

(9)

Tableaux scalaires

Tableaux scalaires

Exemple récapitulatif

Exemple récapitulatif

<?php <?php $couleurs=array("rouge","vert","bleu"); $couleurs=array("rouge","vert","bleu"); print_r($couleurs); print_r($couleurs); print("<br>"); print("<br>");

print("première couleur :$couleurs[0] <br>"); print("première couleur :$couleurs[0] <br>"); $ma_couleur = $couleurs[1];

$ma_couleur = $couleurs[1];

print("<br> modification de la troisième couleur<br>"); print("<br> modification de la troisième couleur<br>"); $couleurs[2]="gris";

$couleurs[2]="gris"; print_r($couleurs); print_r($couleurs);

print("<br><br> couleur préférée : $ma_couleur<BR>"); print("<br><br> couleur préférée : $ma_couleur<BR>"); $copie_tab = $couleurs;

$copie_tab = $couleurs;

print("<BR> affichage de la copie du tableau: >BR>"); print("<BR> affichage de la copie du tableau: >BR>"); print_r($copie_tab);

print_r($copie_tab); ?>

(10)

Tableaux scalaires

Tableaux scalaires

Ajout d’un élément à la fin du tableau

Ajout d’un élément à la fin du tableau

Trois manières :

Trois manières :

Directement avec son indice

Directement avec son indice

$couleurs[3]="orange";

$couleurs[3]="orange";

Sans indice

Sans indice

$couleurs[]="orange";

$couleurs[]="orange";

Avec la fonction array_push()

Avec la fonction array_push()

array_push($couleurs,"blanc");

array_push($couleurs,"blanc");

(11)

Tableaux scalaires

Tableaux scalaires

Ajout d’un élément au début du tableau

Ajout d’un élément au début du tableau

Avec la fonction array_unshift()

Avec la fonction array_unshift()

Exemple :

Exemple :

array_unshift($couleurs,"noir");

array_unshift($couleurs,"noir");

(12)

Tableaux scalaires

Tableaux scalaires

Exemple récapitulatif

Exemple récapitulatif

<?php <?php $couleurs=array("rouge","vert","bleu"); $couleurs=array("rouge","vert","bleu"); print_r($couleurs); print_r($couleurs);

print("<br> ajout à la fin du tableau<br>"); print("<br> ajout à la fin du tableau<br>"); $couleurs[3]="orange"; $couleurs[3]="orange"; $couleurs[]="jaune"; $couleurs[]="jaune"; array_push($couleurs,"blanc"); array_push($couleurs,"blanc"); print_r($couleurs); print_r($couleurs);

print("<br> ajout au début du tableau <br>"); print("<br> ajout au début du tableau <br>"); array_unshift($couleurs,"noir");

array_unshift($couleurs,"noir"); print_r($couleurs);

(13)

Fonctions de manipulation des

Fonctions de manipulation des

tableaux

tableaux

sizeof($tab) et count($tab)

sizeof($tab) et count($tab)

Retournent le nombre d’éléments du tableau

Retournent le nombre d’éléments du tableau

$taille=count($tab);

$taille=count($tab);

array_pop($tab)

array_pop($tab)

Retourne et supprime le dernier élément du

Retourne et supprime le dernier élément du

tableau

tableau

(14)

Fonctions de manipulation des

Fonctions de manipulation des

tableaux

tableaux

array_shift($tab)

array_shift($tab)

Retourne et supprime le premier élément du

Retourne et supprime le premier élément du

tableau

tableau

Défile le tableau

Défile le tableau

$premier = array_shift($tab);

$premier = array_shift($tab);

sort($tab)

sort($tab)

(15)

Fonctions de manipulation des

Fonctions de manipulation des

tableaux

tableaux

Exemple récapitulatif

Exemple récapitulatif

<?php <?php $couleurs=array("noir","rouge","vert","bleu","orange","jaune"); $couleurs=array("noir","rouge","vert","bleu","orange","jaune"); print_r($couleurs); print_r($couleurs); $dcouleur=array_pop($couleurs); $dcouleur=array_pop($couleurs); $pcouleur=array_shift($couleurs); $pcouleur=array_shift($couleurs);

print("dernière couleur :$dcouleur <BR>"); print("dernière couleur :$dcouleur <BR>"); print("première couleur :$pcouleur <BR>"); print("première couleur :$pcouleur <BR>");

print("Tableau après suppression du premier et dernier éléments : <BR>"); print("Tableau après suppression du premier et dernier éléments : <BR>"); print_r($couleurs);

print_r($couleurs);

print("<br> tableau trié <br>"); print("<br> tableau trié <br>"); sort($couleurs);

sort($couleurs); print_r($couleurs); print_r($couleurs);

(16)

Fonctions de manipulation des

Fonctions de manipulation des

tableaux

tableaux

list($var1,$var2,…) = $tab;

list($var1,$var2,…) = $tab;

Range les valeurs des premiers éléments du tableau

Range les valeurs des premiers éléments du tableau

dans les variables passées en paramètres à la

dans les variables passées en paramètres à la

fonction list

fonction list

Le nombre de variables doit être inférieur à la taille

Le nombre de variables doit être inférieur à la taille

du tableau

du tableau

Possibilité de sauter certains éléments

Possibilité de sauter certains éléments

(17)

Fonctions de manipulation des

Fonctions de manipulation des

tableaux

tableaux

Exemple

Exemple

<?php <?php $couleurs=array("noir","rouge","vert","bleu","orange","jaune"); $couleurs=array("noir","rouge","vert","bleu","orange","jaune"); print_r($couleurs); print_r($couleurs);

print("<br> utilisation de list <br>"); print("<br> utilisation de list <br>");

print("Extraire la première et deuxième valeurs : <BR>"); print("Extraire la première et deuxième valeurs : <BR>"); list($v1,$v2) = $couleurs;

list($v1,$v2) = $couleurs; print("$v1:$v2");

print("$v1:$v2");

print("<BR><BR>Extraire la troisème et quatrième valeurs :<BR>"); print("<BR><BR>Extraire la troisème et quatrième valeurs :<BR>"); list(,,$v3,$v4) = $couleurs;

list(,,$v3,$v4) = $couleurs; print("$v3:$v4<BR>"); print("$v3:$v4<BR>");

(18)

Fonctions de manipulation des

Fonctions de manipulation des

tableaux

tableaux

explode("sep",$chaine);

explode("sep",$chaine);

Convertit une chaîne de caractère en un tableau,

Convertit une chaîne de caractère en un tableau,

Le séparateur des éléments dans la chîane est :

Le séparateur des éléments dans la chîane est :

"sep"

"sep"

$chaine_vers_tab = explode(":","rouge:vert:bleu");

$chaine_vers_tab = explode(":","rouge:vert:bleu");

Rouge

Rouge

Vert

Vert

bleu

bleu

(19)

Fonctions de manipulation des

Fonctions de manipulation des

tableaux

tableaux

implode("sep",$tab);

implode("sep",$tab);

Convertit un tableau en une chaîne de

Convertit un tableau en une chaîne de

caractère en insérant le séparateur

caractère en insérant le séparateur

"sep"

"sep"

entre deux éléments consécutifs

entre deux éléments consécutifs

$tab_vers_chaine = implode(":",$chaine_vers_tab);

$tab_vers_chaine = implode(":",$chaine_vers_tab);

(20)

Fonctions de manipulation des

Fonctions de manipulation des

tableaux

tableaux

Exemple

Exemple

<?php <?php $dateslash="12/03/2006"; $dateslash="12/03/2006";

print("<br> conversion de chaine en tableau <br>"); print("<br> conversion de chaine en tableau <br>"); $tabdate = explode("/",$dateslash);

$tabdate = explode("/",$dateslash); print_r($tabdate);

print_r($tabdate);

print("<br> conversion de tableau en chaine <br>"); print("<br> conversion de tableau en chaine <br>"); $datetiret = implode("-",$tabdate);

$datetiret = implode("-",$tabdate); print($datetiret);

(21)

Tableaux associatifs

Tableaux associatifs

Dans un tableau scalaire, chaque élément est référencé

Dans un tableau scalaire, chaque élément est référencé

implicitement par un indice de type entier

implicitement par un indice de type entier

Dans un tableau associatif, chaque élément est référencé

Dans un tableau associatif, chaque élément est référencé

explicitement par un indice appelé clé de type arbitraire

(22)

Tableaux associatifs

Tableaux associatifs

La clé et la valeur correspondante sont séparées par "=>"

La clé et la valeur correspondante sont séparées par "=>"

$tab_ass = array("nom"=>"Dupont","prenom"=>"Michel","section"=>"MSTI");

$tab_ass = array("nom"=>"Dupont","prenom"=>"Michel","section"=>"MSTI");

La clé peut être de type chaîne de caractère

La clé peut être de type chaîne de caractère

nom

nom

Dupont

Dupont

prenom

prenom

Michel

Michel

section

section

MSTI

MSTI

(23)

Tableaux associatifs

Tableaux associatifs

Dans le même tableau deux clés peuvent être de types

Dans le même tableau deux clés peuvent être de types

différents

différents

$tab_ass = array(1=>1278, "nom"=>"Dupont","prenom"=>"Michel")

$tab_ass = array(1=>1278, "nom"=>"Dupont","prenom"=>"Michel")

1

1

1278

1278

nom

nom

Dupont

Dupont

prenom

prenom

Michel

Michel

clé

(24)

Tableaux associatifs

Tableaux associatifs

Un tableau scalaire est un cas particulier des

Un tableau scalaire est un cas particulier des

tableaux associatifs où toutes les clés sont des

tableaux associatifs où toutes les clés sont des

entiers

entiers

Les deux instructions sont équivalentes :

Les deux instructions sont équivalentes :

$tab_ass_scal = array(0 =>"Dupont",1=>"Michel",2=>"MSTI");

$tab_ass_scal = array(0 =>"Dupont",1=>"Michel",2=>"MSTI");

$tab_scal = array("Dupont","Michel","MSTI");

$tab_scal = array("Dupont","Michel","MSTI");

(25)

Tableaux associatifs

Tableaux associatifs

Accès aux éléments d’un tableau associatif

Accès aux éléments d’un tableau associatif

via la clé

via la clé

$tab[cle_element]

$tab[cle_element]

Exemple

Exemple

$nom_eleve= $eleve["nom"];

$nom_eleve= $eleve["nom"];

$eleve["section"] = "MSTIEEA";

$eleve["section"] = "MSTIEEA";

print($eleve["prenom"]);

print($eleve["prenom"]);

(26)

Tableaux associatifs

Tableaux associatifs

Insertion à la fin du tableau

Insertion à la fin du tableau

Directement avec la clé

Directement avec la clé

$tab[nouvelle_cle] = nouvelle_valeur;

$tab[nouvelle_cle] = nouvelle_valeur;

(27)

Tableaux associatifs

Tableaux associatifs

Fonctions de gestion interne

Fonctions de gestion interne

Le dernier élément manipulé est toujours mémorisé

Le dernier élément manipulé est toujours mémorisé

(via un pointeur)

(via un pointeur)

current($tab)

current($tab)

Retourne la valeur du dernier élément manipulé

Retourne la valeur du dernier élément manipulé

key($tab)

key($tab)

(28)

Tableaux associatifs

Tableaux associatifs

Fonctions de gestion interne

Fonctions de gestion interne

reset($tab)

reset($tab)

Positionne le pointeur du tableau sur le premier élément et

Positionne le pointeur du tableau sur le premier élément et

renvoie sa valeur

renvoie sa valeur

end($tab)

end($tab)

Positionne le pointeur du tableau sur le dernier élément et

Positionne le pointeur du tableau sur le dernier élément et

renvoie sa valeur

renvoie sa valeur

next($tab)

next($tab)

avance le pointeur du tableau de 1 et renvoie la valeur de

avance le pointeur du tableau de 1 et renvoie la valeur de

l’élément suivant

l’élément suivant

prev($tab)

prev($tab)

recule le pointeur du tableau de 1 et renvoie la valeur de

recule le pointeur du tableau de 1 et renvoie la valeur de

l’élément précédent

l’élément précédent

(29)

Tableaux associatifs

Tableaux associatifs

Fonctions de gestion interne

Fonctions de gestion interne

each($tab)

each($tab)

Retourne l’élément courant et avance le pointeur du

Retourne l’élément courant et avance le pointeur du

tableau de 1

tableau de 1

L’élément renvoyé est un tableau de 4 éléments

L’élément renvoyé est un tableau de 4 éléments

Clés : 1, value, 0, key

Clés : 1, value, 0, key

Valeurs associées :

Valeurs associées :

0,key : valeur de la clé

0,key : valeur de la clé

(30)

Tableaux multidimensionnels

Tableaux multidimensionnels

Un élément de ce tableau peut être également un

Un élément de ce tableau peut être également un

tableau

tableau

Exemple

Exemple

$menu =

$menu =

array("entree"=>array("nicoice","mexicaine","variee"),

array("entree"=>array("nicoice","mexicaine","variee"),

"plat"=>array("poisson","tagine","brochettes"),

"plat"=>array("poisson","tagine","brochettes"),

"dessert"=>array("banane","pomme","orange"));

"dessert"=>array("banane","pomme","orange"));

print_r($menu);

print_r($menu);

Figure

tableau de 1

Références

Documents relatifs

Insoluble dans les liquides mais présente une activité grandement augmentée par saturation dans l'alcool.. Réactivité très variable selon les périodes de

Le but de notre étude est donc de savoir si cet aspect de périhépatite peut permettre de déterminer la nature biliaire d’un.. épanchement périhépatique et de montrer la

[r]

— Dans notre Mémoire précédent ( 1 ) nous avons étudié les espaces dont chaque élément est une courbe et nous y avons généralisé les notions de norme, d'élément neutre,

— Nous allons maintenant montrer que si une famille ^ de courbes continues orientées admet une paramétrisation intrinsèque D, vérifiant les conditions A, B, C et D, et si l'on

Ecrire la fonction RechElt(N,Tab,Val) qui retourne le rang de la première occurence de la valeur réelle Val dans le tableau Tab (contenant N valeurs significatives), ou -1 si Val

- Les deux filles ont quelque chose sur la tête mais Julie n’a pas

Associe chaque définition au mot qui convient. a-Phagocytose 2) Processus par lequel les microbes sont détruits par certaines catégories de cellules. b-Antigène 3) Capacité