La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Ecole ESIAM1 Chapitre 2 :Tableaux Pr. Aissam MESRAR.

Présentations similaires


Présentation au sujet: "Ecole ESIAM1 Chapitre 2 :Tableaux Pr. Aissam MESRAR."— Transcription de la présentation:

1 Ecole ESIAM1 Chapitre 2 :Tableaux Pr. Aissam MESRAR

2 Ecole ESIAM2 Tableaux

3 3 Tableaux Un tableau est une structure qui peut contenir plusieurs valeurs Un tableau est une structure qui peut contenir plusieurs valeurs Les données dun tableau ne sont pas forcément de même type Les données dun tableau ne sont pas forcément de même type La taille dun tableau est dynamique La taille dun tableau est dynamique 10bon12.3m

4 Ecole ESIAM4 Tableaux Deux types de tableaux : Deux types de tableaux : Tableaux scalaires : tableaux conventionnels Tableaux scalaires : tableaux conventionnels Tableaux associatifs Tableaux associatifs

5 Ecole ESIAM5 Tableaux scalaires Les éléments dun tableau sont référencés par des indices entiers Les éléments dun tableau sont référencés par 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 – Elem1Elem2Elem3Elem4

6 Ecole ESIAM6 Tableaux scalaires Initialisation Initialisation Un tableau est initialisé par la fonction array() Un tableau est initialisé par la fonction array() $nom_tab = array(val1,val2,val3,…); Exemple : Exemple :$couleurs=array("rouge","vert","bleu"); Affichage dun tableau Affichage dun tableau Le tableau peut être affiché en entier par la fonction print_r () print_r($nom_tab); Le tableau peut être affiché en entier par la fonction print_r () print_r($nom_tab);

7 Ecole ESIAM7 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] Exemple: Exemple: $couleurs[2]= "gris"; print($couleurs[0]); $ma_couleur = $couleurs[1];

8 Ecole ESIAM8 Tableaux scalaires Affectation des tableaux Affectation des tableaux A la différence des langages classiques, on peut affecter un tableau à un autre. A la différence des langages classiques, on peut affecter un tableau à un autre. $tab1 = $tab2; Permet de copier tous les éléments de $tab2 dans $tab1

9 Ecole ESIAM9 Tableaux scalaires Exemple récapitulatif Exemple récapitulatif Exemple "); print("première couleur :$couleurs[0] "); $ma_couleur = $couleurs[1]; print(" modification de la troisième couleur "); $couleurs[2]="gris";print_r($couleurs); print(" couleur préférée : $ma_couleur "); $copie_tab = $couleurs; print(" affichage de la copie du tableau: >BR>"); print_r($copie_tab);?>

10 Ecole ESIAM10 Tableaux scalaires Ajout dun élément à la fin du tableau Ajout dun élément à la fin du tableau Trois manières : Trois manières : Directement avec son indice Directement avec son indice$couleurs[3]="orange"; Sans indice Sans indice$couleurs[]="orange"; Avec la fonction array_push() Avec la fonction array_push()array_push($couleurs,"blanc");

11 Ecole ESIAM11 Tableaux scalaires Ajout dun élément au début du tableau Ajout dun élément au début du tableau Avec la fonction array_unshift() Avec la fonction array_unshift() Exemple : Exemple :array_unshift($couleurs,"noir");

12 Ecole ESIAM12 Tableaux scalaires Exemple Exemple récapitulatif Exemple

13 Ecole ESIAM13 Fonctions de manipulation des 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); array_pop($tab) array_pop($tab) Retourne et supprime le dernier élément du tableau Retourne et supprime le dernier élément du tableau Dépile le tableau Dépile le tableau $dernier = array_pop($tab);

14 Ecole ESIAM14 Fonctions de manipulation des tableaux array_shift($tab) array_shift($tab) Retourne et supprime le premier élément du tableau Retourne et supprime le premier élément du tableau Défile le tableau Défile le tableau $premier = array_shift($tab); sort($tab) sort($tab) Trie le tableau Trie le tableau Voir aussi : asort(), rsort(), arsort(), ksort() Voir aussi : asort(), rsort(), arsort(), ksort()

15 Ecole ESIAM15 Fonctions de manipulation des tableaux Exemple récapitulatif Exemple récapitulatif Exemple

16 Ecole ESIAM16 Fonctions de manipulation des tableaux list($var1,$var2,…) = $tab; list($var1,$var2,…) = $tab; Range les valeurs des premiers éléments du tableau dans les variables passées en paramètres à la fonction list Range les valeurs des premiers éléments du tableau dans les variables passées en paramètres à la fonction list Le nombre de variables doit être inférieur à la taille du tableau Le nombre de variables doit être inférieur à la taille du tableau Possibilité de sauter certains éléments Possibilité de sauter certains éléments list(,$var2) = $tab; list(,$var2) = $tab; Extrait le deuxième élément du tableau Extrait le deuxième élément du tableau

17 Ecole ESIAM17 Fonctions de manipulation des tableaux Exemple Exemple Exemple ");?>

18 Ecole ESIAM18 Fonctions de manipulation des 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 : "sep" Le séparateur des éléments dans la chîane est : "sep" $chaine_vers_tab = explode(":","rouge:vert:bleu"); RougeVertbleu $chaine_vers_tab

19 Ecole ESIAM19 Fonctions de manipulation des tableaux implode("sep",$tab); implode("sep",$tab); Convertit un tableau en une chaîne de caractère en insérant le séparateur "sep" entre deux éléments consécutifs Convertit un tableau en une chaîne de caractère en insérant le séparateur "sep" entre deux éléments consécutifs $tab_vers_chaine = implode(":",$chaine_vers_tab); Equivalent à $tab_vers_chaine ="rouge:vert:bleu" Equivalent à $tab_vers_chaine ="rouge:vert:bleu"

20 Ecole ESIAM20 Fonctions de manipulation des tableaux Exemple Exemple Exemple

21 Ecole ESIAM21 Tableaux associatifs Dans un tableau scalaire, chaque élément est référencé implicitement par un indice de type entier Dans un tableau scalaire, chaque élément est référencé implicitement par un indice de type entier Dans un tableau associatif, chaque élément est référencé explicitement par un indice appelé clé de type arbitraire Dans un tableau associatif, chaque élément est référencé explicitement par un indice appelé clé de type arbitraire cle1val1cle2val2cle3val3

22 Ecole ESIAM22 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"); La clé peut être de type chaîne de caractère La clé peut être de type chaîne de caractère nomDupontprenomMichelsectionMSTI clé valeur

23 Ecole ESIAM23 Tableaux associatifs Dans le même tableau deux clés peuvent être de types différents Dans le même tableau deux clés peuvent être de types différents $tab_ass = array(1=>1278, "nom"=>"Dupont","prenom"=>"Michel") 11278nomDupontprenomMichel clé valeur

24 Ecole ESIAM24 Tableaux associatifs Un tableau scalaire est un cas particulier des tableaux associatifs où toutes les clés sont des entiers Un tableau scalaire est un cas particulier des tableaux associatifs où toutes les clés sont des 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"); Vérifier avec la fonction print_r() Vérifier avec la fonction print_r()

25 Ecole ESIAM25 Tableaux associatifs Accès aux éléments dun tableau associatif Accès aux éléments dun tableau associatif via la clé via la clé$tab[cle_element]Exemple $nom_eleve= $eleve["nom"]; $nom_eleve= $eleve["nom"]; $eleve["section"] = "MSTIEEA"; $eleve["section"] = "MSTIEEA"; print($eleve["prenom"]); print($eleve["prenom"]);

26 Ecole ESIAM26 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;

27 Ecole ESIAM27 Tableaux associatifs Fonctions de gestion interne Fonctions de gestion interne Le dernier élément manipulé est toujours mémorisé (via un pointeur) Le dernier élément manipulé est toujours mémorisé (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) Retourne la clé du dernier élément manipulé Retourne la clé du dernier élément manipulé

28 Ecole ESIAM28 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 renvoie sa valeur Positionne le pointeur du tableau sur le premier élément et renvoie sa valeur end($tab) end($tab) Positionne le pointeur du tableau sur le dernier élément et renvoie sa valeur Positionne le pointeur du tableau sur le dernier élément et renvoie sa valeur next($tab) next($tab) avance le pointeur du tableau de 1 et renvoie la valeur de lélément suivant avance le pointeur du tableau de 1 et renvoie la valeur de lélément suivant prev($tab) prev($tab) recule le pointeur du tableau de 1 et renvoie la valeur de lélément précédent recule le pointeur du tableau de 1 et renvoie la valeur de lélément précédent

29 Ecole ESIAM29 Tableaux associatifs Fonctions de gestion interne Fonctions de gestion interne each($tab) each($tab) Retourne lélément courant et avance le pointeur du tableau de 1 Retourne lélément courant et avance le pointeur du 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é 1,value : valeur de lélément

30 Ecole ESIAM30 Tableaux multidimensionnels Un élément de ce tableau peut être également un tableau Un élément de ce tableau peut être également un tableau Exemple Exemple $menu = array("entree"=>array("nicoice","mexicaine","variee"), "plat"=>array("poisson","tagine","brochettes"),"dessert"=>array("banane","pomme","orange"));print_r($menu);


Télécharger ppt "Ecole ESIAM1 Chapitre 2 :Tableaux Pr. Aissam MESRAR."

Présentations similaires


Annonces Google