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/