• Aucun résultat trouvé

08/04/20101

N/A
N/A
Protected

Academic year: 2022

Partager "08/04/20101"

Copied!
4
0
0

Texte intégral

(1)

08/04/2010

1

Définition

•En PHP, un tableau est une collection (liste d'éléments) ordonnée de couples clé/valeur.

•La clé peut être de type entier ou de type chaîne. Dans le premier cas, le tableau est dit numérique et la clé est désignée par le terme indice. Dans le deuxième cas, le tableau est dit associatif : les clés ne sont pas forcément consécutives, ni ordonnées, et ce tableau peut présenter des clés entières et des clés de type chaîne.

•La valeur associée à la clé peut être de n'importe quel type, et notamment de type tableau ; dans ce cas, le tableau est dit multidimensionnel.

Les tableaux

Principe

Création à l’aide de la fonction array()

Uniquement des tableaux à une dimension

Les éléments d’un tableau peuvent avoir pour élément d’autres tableaux

Les éléments d’un tableau peuvent appartenir à des types distincts

L’index d’un tableau en PHP commence à 0

Pas de limites supérieures pour les tableaux

La fonction count()pour avoir le nombre d’éléments d’un tableau (count($tab))

Les tableaux

Remplir un tableau

On peut affecter une valeur à chaque élément.

<?php

$tableau[] = "a";

$tableau[] = "b";

?>

Les deux valeurs auront pour indice les indices suivant l'indice le plus important. Dans notre cas présent, ce seront les indices 0 et 1 On peut fixer la valeur des indices.

<?php

$tableau[0] = "a";

$tableau[1] = "b";

?>

Lorsque l'on souhaite insérer plusieurs valeurs, on utilisera la fonction array()

<?php

$a1 = array("un", "deux", "trois", "nous irons au bois");

$a2 = array(1 => "un", 2 => "deux", 3 => "trois", 4 => "nous irons au bois");

$a3 = array(1 => "un", "deux", "trois", "nous irons au bois");

// pour commencer à 1

?>

Les tableaux indicés

Accéder

Accéder aux aux éléments éléments par par l’intermédiaire l’intermédiaire de de nombres nombres

$tableau[indice] = valeur;

$jour[3] = "Mercredi";

$note[0] = 20;

$tableau = array(valeur0, valeur1,..., valeurN);

$jour = array("Dimanche", "Lundi", "Mardi", "Mercredi",

"Jeudi", "Vendredi", "Samedi");

$note = array(20, 15, 12.6, 17, 10, 20, 11, 18, 19);

$variable = $tableau[indice];

$JS = $jour[6]; // affecte "Samedi" à $JS echo $note[1] + $note[5]; // affiche 35

(2)

08/04/2010

2 Les tableaux associatifs

Les

Les élémentséléments sontsont référencésréférencés par des par des chaîneschaînes de de caractèrescaractères : la : la cléclé d’indexd’index

$tableau["indice"] = valeur;

$jour["Dimanche"] = 7

$jour["Mercredi"] = "Le jour des enfants"

$tableau = array(ind0 => val0, ind1 => val1,..., indN => valN);

$jour = array("Dimanche" => 1, "Lundi" => 2, "Mardi" => 3,

"Mercredi" => 4, "Jeudi" => 5, "Vendredi" => 6, "Samedi" =>

7);

$variable = $tableau["indice"];

$JS = $jour["Vendredi"]; // affecte 6 à $JS echo $jour["Lundi"]; // affiche la valeur 2

Lecture des éléments d’un tableau

Avec une boucle for

for($i = 0; $i<count($tab); $i++) {

$tamp = $tab[$i];

echo "$tamp, <br />";

}

Lecture des éléments d’un tableau

Avec une boucle foreach

$tableau = array(val1, val2, ..., valN);

foreach($tableau as $valeur) { echo "Valeur : $valeur";

}

$jour = array("Lundi", "Mardi", "Mercredi", "Jeudi",

"Vendredi", "Samedi", " Dimanche");

$i = 0;

foreach($jour as $JS){

echo "Le jour ".($i+1)." de la semaine est ".$JS."<br />";

$i++;

}

Lecture des éléments d’un tableau associatif

Réalisable en ajoutant la clé associée avant la variable $valeur

$tableau = array(cle1 => val1, cle2 => val2, ..., cleN

=> valN);

foreach($tableau as $cle => $valeur) { echo "Valeur ($cle): $valeur";

}

$jour = array("Dimanche" => 7, "Lundi" => 1,

"Mardi" => 2, "Mercredi" => 3, "Jeudi" => 4,

"Vendredi" => 5, "Samedi" => 6);

foreach($jour as $JS => $nJS) {

echo "Le jour de la semaine n°". $nJS . " : " . $JS . "<br />";

}

(3)

08/04/2010

3 Fonctions de tri de tableau

Tri selon les valeurs

La fonctionsort($tab)effectue un tri sur les valeurs des éléments d’un tableau selon les codes ASCII :

"a" est après "Z" et "10" est avant "9")

Le tableau initial est modifié et non récupérable dans son ordre original

Pour les tableaux associatifs les clés seront perdues et remplacées par un indice créé après le tri et commençant à 0

La fonctionrsort($tab)effectue la même action mais en ordre inverse des codes ASCII.

La fonctionasort($tab)trie également les valeurs selon le critère des codes ASCII, mais en préservant les clés pour les tableaux associatifs

La fonctionarsort($tab)la même action mais en ordre inverse des codes ASCII

la fonctionnatcasesort($tab)effectue un tri dans l’ordre alphabétique non ASCII ("a" est avant "z" et "10"

est après "9")

Fonctions de tri de tableau

Tri sur les clés

La fonction ksort() trie les clés du tableau selon le critère des codes ASCII, et préserve les associations clé /valeur

La fonction krsort() effectue la même action mais en ordre inverse des codes ASCII

Fonctions de tri de tableau

<?php

$tab2 = array ("1622"=>"Molière", "1802"=>"Hugo",

"1920"=>"Vian", "1905"=>"Sartre") ; ksort ($tab2);

echo "<h3 > Tri sur les clés de \$tab2 </h3>" ; foreach ($tab2 as $cle=>$valeur) {

echo "<b> l’élément a pour clé $cle et pour valeur $valeur

</b> <br />";}

?>

Tri sur les clés de $tab2

l’élément a pour clé 1622 et pour valeur Molière l’élément a pour clé 1802 et pour valeur Hugo l’élément a pour clé 1905 et pour valeur Sartre l’élément a pour clé 1920 et pour valeur Vian

Fonctions particulières: explode

La fonction explode permet de découper une chaîne selon un séparateur et de stocker les éléments dans un tableau.

Syntaxe : tableauexplode(chaîneséparateur, chaîneà_découper[, entierlimite]) séparateur Séparateur recherché.

à_découper Chaîne à découper.

limite Si spécifié, nombre maximum d'éléments dans le tableau résultat.

Exemple

<?php

$liste = "bleu, blanc, rouge" ;

$couleurs = explode(", ",$liste); // séparateur = virgule+espace foreach($couleurs as $clé => $valeur)

{ echo "$clé => $valeur<BR>"; }

?>

Résultat 0 => bleu 1 => blanc 2 => rouge

implode

(4)

08/04/2010

4 Fonctions particulières: implode

La fonction implode permet de regrouper les éléments d'un tableau dans une chaîne à l'aide d'un séparateur.

Syntaxe: chaîneimplode(chaîneséparateur, tableauéléments) séparateur Séparateur utilisé.

éléments Tableau contenant les éléments à regrouper.

Exemple

<?php

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

$liste = implode(", ",$couleurs); // séparateur = virgule+espace echo $liste;

?>

Résultat bleu, blanc, rouge

str_split

La fonction str_split découpe une chaîne en morceaux de longueur fixe et stocke les éléments dans un tableau.

Syntaxe

Fonctions particulières: str_split

La fonction str_split découpe une chaîne en morceaux de longueur fixe et stocke les éléments dans un tableau.

Syntaxe: tableaustr_split(chaînechaîne[,entierlongueur]) chaîne Chaîne à découper.

longueur Longueur des morceaux (1 par défaut).

Exemple

<?php

$chaîne = "A1B2C3";

$tableau = str_split($chaîne,2);

foreach($tableau as $clé => $valeur) { echo "\$tableau[$clé] = $valeur<br>";

}

?>

Résultat

$tableau[0] = A1

$tableau[1] = B2

$tableau[2] = C3

Fonctions particulières: range

La fonction range renvoie un tableau contenant toutes les valeurs comprises entre deux bornes.

Syntaxe: tableaurange(valeur1 , valeur2) valeur1 Borne inférieure.

valeur2 Borne supérieure.

Exemple

<?php

$tableau = range(‘A’ , ‘C’);

foreach($tableau as $clé => $valeur) { echo "\$tableau[$clé] = $valeur<br>";

}

?>

Résultat

$tableau[0] = A

$tableau[1] = B

$tableau[2] = C

Références

Documents relatifs

[r]

Cette variabilité interindividuelle d’origine génétique peut être d’ordre pharmacocinétique : variation d’expression des gènes codant pour des enzymes impliquées dans

Les résultats préli- minaires de Miri Qalat seront comparés à ceux fournis par les ossements ani- maux de deux sites des mêmes périodes étudiés par l'auteur:

Eine Beson- derheit ist das Auftreten von Rollbeinen (Astragali) von Schafen in Kindergrabern. Bei diesen Stücken dürfte es sich um Spielsteine handeln. Das

Ces notions de quantité des offrandes (absence, peu ou beaucoup) et du choix des morceaux déposés sont faciles à évaluer. De fait, certaines offrandes animales sont le reflet

L ors des dernières élections aux URPS, la FSDL qui soutient les revendications de l’ASSO ( Association Syndicale des Spécialistes en orthodontie) a proposé la création d’un

Nous présentons dans ce mémoire de thèse une procédure permettant le calage de la géométrie d’un réseau de fractures à grande échelle aux données hydrodynamiques de

Pr Etienne Hirsch, président de la société des neurosciences et du conseil scientifique de la Fondation pour la recherche sur le cerveau. Pr Philippe Jeammet, psychiatre