• Aucun résultat trouvé

Note: func va directement travailler avec les éléments de arr, ce qui fait que tout changement de ces éléments seront fait directement dans le tableau lui même

Dans le document Td corrigé Documentation PHP - Free pdf (Page 57-65)

Note: Cette fonction a été ajoutée dans PHP 4.0.

array_walk

array_walk -- Exécute une fonction sur chacun des membres díun tableau.

Description

int array_walk(array arr, string func);

Exécute la fonctino func avec chaque élément du tableau arr. Les éléments sont passés en tant que premier argument de la fonction func ; si func a besoin de plus díun argument, une alerte sera générée pour chaque appel de func. Ces alerte sont supprimées en ajoutant le suffixe '@' avant líappel de array_walk(), ou en utilisant error_reporting().

Note: func va directement travailler avec les éléments de arr, ce qui fait que tout changement de ces éléments seront fait directement dans le tableau lui même.

Exemple 1. exemple array_walk()

$fruits = array("d"=>"citron","a"=>"orange","b"=>"banane","c"=>"pomme");

function test_alter( $item1 ) { $item1 = 'bidon';

}

function test_print( $item2 ) { echo "$item2<br>\n";

}

array_walk( $fruits, 'test_print' );

array_walk( $fruits, 'test_alter' );

array_walk( $fruits, 'test_print' );

Voir aussi each()et list().

arsort

arsort -- Trie un tableau en ordre inverse

Description

void arsort(array array);

Cette fonction trie un tableau de telle manière que la corrélation entre les index et les valeurs soient conservées. Líusage principal est lors de tri de tableaux associatifs où líordre des éléments est important.

Exemple 1. exemple arsort()

$fruits = array("d"=>"papaye","a"=>"orange","b"=>"banane","c"=>"ananas");

arsort($fruits);

for(reset($fruits); $key = key($fruits); next($fruits)) { echo "fruits[$key] = ".$fruits[$key]."\n";

}

Cet exemple va afficher: fruits[a] = orange fruits[d] = papaye fruits[b] = banane fruits[c] = ananas . Les fruits ont été triés en ordre alphabétique inverse, et leur index respectifs ont été conservé.

Voir aussi: asort(), rsort(), ksort(), et sort().

asort

asort -- Trie un tableau en ordre

Description

void asort(array array);

Cette fonction trie un tableau de telle manière que la corrélation entre les index et les valeurs soient conservées. Líusage principal est lors de tri de tableaux associatifs où líordre des éléments est important.

Exemple 1. exemple asort()

$fruits = array("d"=>"papaye","a"=>"orange","b"=>"banane","c"=>"ananas");

asort($fruits);

for(reset($fruits); $key = key($fruits); next($fruits)) { echo "fruits[$key] = ".$fruits[$key]."\n";

}

Cet exemple va afficher: fruits[c] = ananas fruits[b] = banane fruits[d] = papaye fruits[a] = orange. Les fruits ont été triés en ordre alphabétique, et leur index respectifs ont été conservé.

Voir aussi arsort(), rsort(), ksort(), et sort().

compact

compact -- Crée un tableau contenant les variables et leur valeur

Description

array compact(string varname | array varnames, [...]);

compact() accepte différents paramètres. Les paramètres peuvent être des variables contenant des chaînes, ou un tableau de chaîne, qui peut contenir díautres tableau de noms, que compact() traitera récursivement.

Pour chacun des arguments, compact() recherche une variable avec un une variable de même nom dans la table courante des symboles, et líajoute dans le tableau, de manière à avoir la relation nom => ëvaleur de variableí. En bref, cíest le contraire de la fonction extract(). Retourne le tableau ainsi créé.

Exemple 1. compact() exemple

$ville = "San Francisco";

$etat = "CA";

$evenement = "SIGGRAPH";

$location_vars = array("ville", "etat");

$result = compact("evenement", $location_vars);

After this, $result will be array("evenement" => "SIGGRAPH", "ville" => "San Francisco", "etat" => "CA").

Voir aussi extract().

Note: Cette fonction a été ajoutée dans PHP 4.0.

count

count -- Compte le nombre díélément díun tableau

Description

int count(mixed var);

Retourne le nombre díélément dans var, qui est généralement un tableau (et tout le reste níaura quíun élément).

Retourne 1 si la variable níest pas un tableau.

Retourne 0 si la variable níest pas créée..

Attention

count() va retourner 0 pour une variable non créée, mais il peu aussi retourner 0 pour un tableau vide. Utilisez plutôt la commande isset() pour savoir si une variable existe ou pas.

Voir aussi: sizeof(), isset(), et is_array().

current

current -- Transforme une variable en tableau

Description

mixed current(array array);

Chaque tableau entretien un pointeur interne, array has an internal pointer to its "current" element, which is initialized to the first element inserted into the array.

The current() function simply returns the array element that's currently being pointed by the internal pointer. It does not move the pointer in any way. If the internal pointer points beyond the end of the elements list, current() returns false.

Warning

If the array contains empty elements (0 or "", the empty string) then this function will return false for these elements as well. This makes it impossible to determine if you are really at the end of the list in such an array using current().

To properly traverse an array that may contain empty elements, use the each() function.

See also: end(), next(), prev() and reset().

each

each -- Retourne chaque paire clé/valeur díun tableau

Description

array each(array array);

Retourne la paire (clé/valeur) courante du tableau array et avance le pointeur de tableau. Cette paire est retournée dans un tableau de 4 éléments, avec les clés 0, 1, key, et value. Les éléments 0 et key contiennent le nom de la clé et, et 1 et value contienent la valeur.

Si le pointeur interne de fichier est au dela de la fin du tableau, each() retourne faux.

Exemple 1. Exemple each()

$foo = array( "bob", "fred", "jussi", "jouni" );

$bar = each( $foo );

$bar contient maintenant les paires suivantes:

 0 => 0 1 => 'bob' key => 0 value => 'bob'

$foo = array( "Robert" => "Bob", "Seppo" => "Sepi" );

$bar = each( $foo );

$bar contient maintenant les paires suivantes:

 0 => 'Robert' 1 => 'Bob' key => 'Robert' value => 'Bob'

each() est utilisé conjointement avec list() pour étudier tous les éléments díun tableau; par exemple, $HTTP_POST_VARS:

Exemple 2. Affichage de $HTTP_POST_VARS avec each()

echo "Valeurs transmises par la méthode POST:<br>";

while (list($key, $val) = each($HTTP_POST_VARS)) { echo "$key => $val<br>";

}

Après chaque each(), le pointeur de tableau est déplacé au dernier éléments, ou sur le dernier élément, lorsquíon arrive à la fin.

Voir aussi key(), list(), current(), reset(), next(),et prev().

end

end -- Position le pointeur de tableau en fin de tableau

Description

end(array array);

end() avance le pointeur interne de table de array jusquíau dernier élément..

Voir aussi: current(), each(), end() next() et reset()

extract

extract -- Exporte un tableau dans la table des symboles

Description

void extract(array var_array, int [extract_type], string [prefix]);

Cette fonction sert à exporter un tableau vers la table des symboles. Elle prend un tableau associatif var_array et crée les variables dont les noms sont les index de ce tableau, et leur affecte la valeur associée. Pour chaque paire clé/valeur, cette fonction crée une variable, avec les paramètres extract_type et prefix.

extract() vérifie líexistence de la variable avant de la créer. La manière de traiter les collisions est déterminée par extract_type. Ce paramètre peut prendre une des valeurs suivantes :

EXTR_OVERWRITE

Lors díune collision, réécrire la variable existante.

EXTR_SKIP

Lors díune collision, ne pas réécrire la variable existante EXTR_PREFIX_SAME

Lors díune collision, ajouter le préfixe prefix, et créer une nouvelle variable.

EXTR_PREFIX_ALL

ajouter le préfixe prefix, et créer une nouvelle variable.

Si extract_type est omis, extract() utilise EXTR_OVERWRITE par défault.

Notez que prefix níest nécessaire que pour les valeurs de extract_type suivantes : EXTR_PREFIX_SAME et EXTR_PREFIX_ALL.

extract() vérifie que les clés constitue un nom de variable valide, et si cíest le cas, procède à son exportation.

Une utilisation possible de cette fonction est líexportation vers la table des symboles de tableau de variables retourné par la fonction wddx_deserialize().

Exemple 1. extract exemple

<?

/* Supposons que $var_array est un tableau retourné par wddx_deserialize */

$taille = "grand";

$var_array = array("couleur" => "bleu", "taille" => "moyen", "forme" => "sphere");

extract($var_array, EXTR_PREFIX_SAME, "wddx");

print "$couleur, $taille, $forme, $wddx_taille\n";

?>

Líexemple ci dessus va afficher blue, large, sphere, medium

La variable $taille nía pas été réécrite, car on avait spécifié le paramètre EXTR_PREFIX_SAME, qui a permis la création

$wddx_size. Si EXTR_SKIP avait été utilisé, alors $wddx_size níaurait pas été créé. Avec EXTR_OVERWRITE, $taille aurait pris la valeur "moyen", et avec EXTR_PREFIX_ALL, les variables créées seraient $wddx_couleur, $wddx_taille, et

$wddx_forme.

in_array

in_array -- Retourne vrai si une valeur appartient à un tableau

Description

bool in_array(mixed needle, array haystack);

Recherche needle dans haystack et retourne vrai si il síy trouve, ou faux sinon.

Exemple 1. Exemple in_array()

$os = array("Mac", "NT", "Irix", "Linux");

if (in_array("Irix", $os)) print "Irix trouve";

Note: Cette fonction a été ajoutée dans PHP 4.0.

key

key -- Retourne une clé díun tableau associatif

Description

mixed key(array array);

key() retourne líindex de la clé courante dans un tableau Voir aussi: current(), next()

ksort

ksort -- Trie un tableau suivant les clés

Description

int ksort(array array);

Trie un tableau suivant les clés, en maintenant la correspondance entre les clés et les valeurs. Cette fonction est pratique pour les tableaux associatfs

Exemple 1. exemple ksort()

$fruits = array("d"=>"papaye","a"=>"orange","b"=>"banane","c"=>"ananas");

ksort($fruits);

for(reset($fruits); $key = key($fruits); next($fruits)) { echo "fruits[$key] = ".$fruits[$key]."\n";

}

This example would display: fruits[a] = orange fruits[b] = banane fruits[c] = ananas fruits[d] = citron Voir aussi asort(), arsort(), sort(), et rsort().

list

list -- Transforme une liste de variables en tableau

Description

void list(...);

Tout comme array(), ce níest pas une véritable fonction, mais une construction syntaxique, qui permet díassigner une série de variable en une seule ligne.

Exemple 1. exemple list()

<table>

<tr>

<th>Nom des emploies name</th>

<th>Salaire</th>

</tr>

<?php

$result = mysql($conn, "SELECT id, nom, salaire FROM employe");

while (list($id, $nom, $salaire) = mysql_fetch_row($result)) { print(" <tr>\n".

" <td><a href=\"info.php3?id=$id\">$nom </a></td>\n".

" <td>$salaire</td>\n".

" </tr>\n");

}

?></table>

Voir aussi: each(), array().

next

next -- Avance le pointeur interne díun tableau

Description

mixed next(array array);

retourne the array element in the next place that's pointed by the internal array pointer, or false if there are no more elements.

next() behaves like current(), with one difference. It advances the internal array pointer one place forward before returning the element. That means it returns the next array element and advances the internal array pointer by one. If advancing the internal array pointer results in going beyond the end of the element list, next() returns false.

Warning

If the array contains empty elements then this function will return false for these elements as well. To properly traverse an array which may contain empty elements see the each() function.

See also: current(), end() prev() and reset()

pos

pos -- Retourne líélément courant díun tableau

Description

mixed pos(array array);

Cíest un alias de current().

Voir aussi : end(), next(), prev() et reset().

prev

prev -- Recule le pointeur courant de tableau

Description

mixed prev(array array);

Repositionne le pointeur interne de tableau à la dernière place quíil occupait, ou bien retourne faux si il ne reste plus díéléments.

Alerte

Si le tableau contient des éléments vides, cette fonction retournera faux pour ces éléments aussi. Pour passer en revue tous les éléments, utilisez plutôt each().

prev() se comporte exactement comme next(), mais il fait reculer le pointeur plutôt que de líavancer.

Voir aussi : current(), end() next() et reset()

range

range -- Crée un tableau contenant un intervalle díentiers

Description

array range(int low, int high);

range() retourne un tableau contenant tous les entiers depuis low jusquíà high, inclus.

Voir shuffle() pour un exemple díutilsiation.

reset

reset -- Remet le pointeur interne de tableau au début

Description

mixed reset(array array);

reset() replace le pointeur de tableau au premier élément.

reset() retourne la valeur du premier élément.

Voir aussi : current(), each(), next() prev().

rsort

rsort -- Trie en ordre inverse

Description

void rsort(array array);

Cette fonction effectue un trie en ordre décroissant (du plus grand au plus petit ) Exemple 1. exemple rsort()

$fruits = array("papaye","orange","banane","ananas");

rsort($fruits);

for (reset($fruits); list($key,$value) = each($fruits); ) { echo "fruits[$key] = ", $value, "\n";

}

shuffle

shuffle -- Mélange les éléments díun tableau

Description

void shuffle(array array);

Cette fonction mélange les éléments díun tableau.

Exemple 1. shuffle() exemple

$numbers = range(1,20);

srand(time());

shuffle($numbers);

while (list(,$number) = each($numbers)) { echo "$number ";

}

Voir aussi arsort(), asort(), ksort(), rsort(), sort() et usort().

sizeof

sizeof -- Retourne le nombre díélément díun tableau

Description

int sizeof(array array);

Retourne le nombre díélément díun tableau.

Voir aussi : count()

sort

sort -- Trie le tableau

Description

void sort(array array);

Cette fonction trie le tableau array. Les éléments seront triés du plus petit au plus grand.

Exemple 1. exemple sort()

$fruits = array("papaye","orange","banane","ananas");

sort($fruits);

for(reset($fruits); $key = key($fruits); next($fruits)) { echo "fruits[$key] = ".$fruits[$key]."\n";

}

Cet exemple va afficher : fruits[0] = ananas fruits[1] = banane fruits[2] = orange fruits[3] = papaye les fruits ont été classé dans líordre alphabétique.

Voir aussi arsort(), asort(), ksort(), rsort(),et usort().

uasort

uasort -- Trie un tableau en utilisant une fonction de comparaison définie par líutilisateur

Description

void uasort(array array, function cmp_function);

Cette fonction trie un tableau en conservant la correspondance entre les index et leurs valeurs. Cette fonction sert essentiellement lors de tri de tableaux associatifs où líordre des éléments est significatif. La fonction de comparaison utilisée est définie par líutilisateur.

uksort

uksort -- Trie les clés díun tableau en utilisant une fonction de comparaison définie par líutilisateur

Description

void uksort(array array, function cmp_function);

Cette fonction va trier les clés du tableau en utilisant une fonction définie par líutilisateur. Si un tableau qui doit être trié avec un critère complexe, il est préférable díutiliser cette fonction.

Exemple 1. exemple uksort()

function mycompare($a, $b) { if ($a == $b) return 0;

return ($a > $b) ? -1 : 1;

}

$a = array(4 => "quatre", 3 => "trois", 20 => "vingt", 10 => "dix");

uksort($a, mycompare);

while(list($key, $value) = each($a)) { echo "$key: $value\n";

}

Cet exemple affichera: 20: vingt 10: dix 4: quatre 3: trois Voir aussi arsort(), asort(), uasort(), ksort(), rsort() et sort().

usort

usort -- Trie les valeurs díun tableau en utilisant une fonction de comparaison définie par líutilisateur Description

void usort(array array, function cmp_function);

Cette fonction va trier un tableau avec ses valeurs, en utilisant une fonction définie par líutilisateur. Si un tableau doit être trié avec un critère complexe, il est préférable díutiliser cette méthode.

La fonction de comparaison doit retourner un entier, qui sera inférieur, égal ou supérieur à zéro suivant que le premier argument est considéré comme plus petit, égal ou plus grand que le second argument. Si les deux arguments sont égaux, leur ordre est indéfini.

Exemple 1. exemple usort() function cmp($a,$b) {

Note: Evidemment dans ce cas trivial, rsort() serait plus approprié.

ATTENTION :Les bibliothèques de tri rapides sur lesquelles reposent PHP peuvent le conduire à un plantage, si la fonction de comparaison ne retourne pas une valeur cohérente

Voir aussi: arsort(), asort(), ksort(), rsort() et sort().

IV. Fonctions Aspell

Les fonctions aspell() permettent de contrôler l'orthographe d'un mot et peuvent suggérer l'orthographe d'un mot.

Vous avez de la librairie aspelll, disponible chez : http://metalab.unc.edu/kevina/aspell/

Dans le document Td corrigé Documentation PHP - Free pdf (Page 57-65)