• Aucun résultat trouvé

Fonctions de manipulation des tableaux – Cours et formation gratuit

N/A
N/A
Protected

Academic year: 2022

Partager "Fonctions de manipulation des tableaux – Cours et formation gratuit"

Copied!
30
0
0

Texte intégral

(1)

Chapitre 2 :Tableaux

Pr. Aissam MESRAR

(2)

Tableaux

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 10 bon bon 12.3 12.3 m m

(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

Elem1 Elem2 Elem2 Elem3 Elem3 Elem4 Elem4

(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);

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

Dépile le tableau Dépile le 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)

Trie le tableau Trie le tableau

(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

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

(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

$chaine_vers_tab

(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);

Equivalent à Equivalent à $tab_vers_chaine ="rouge:vert:bleu" $tab_vers_chaine ="rouge:vert:bleu"

(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);

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

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

clé

(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é

valeur

(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");

Vérifier avec la fonction print_r() Vérifier avec la fonction print_r()

(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)

Retourne la clé du dernier élément manipulé Retourne la clé du dernier élément manipulé

(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);

Références

Documents relatifs

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é

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

De plus, si vous disposez de postes utilisateur Windows XP, vous devez les supprimer de votre configuration Tableau Server avant de commencer la procédure de mise à niveau

Pour insérer une colonne il suffit de sélectionner la colonne à gauche de laquelle sera insérer la nouvelle colonne, puis choisissez la commande insérée des colonnes dans tableau qui

Faire glisser la souris dans la grille pour déterminer le nombre de lignes et de colonnes du tableau.. Cliquer avec le bouton gauche de la souris une fois le choix déterminé pour

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

— 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

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