array_search()

x@v
Mammouth du PHP | 570 Messages

25 juin 2007, 04:16

Bonjour,
je cherche à tester si la clé correspond à la valeur avec la fonction array_search();
Mais mon test ne fonctionne pas, j'avoue non plus ne pas comprendre le prototype:

Code : Tout sélectionner

mixed array_search ( mixed needle, array haystack [, bool strict] )
$image = 'img src="11"';
$chemin=array($image);

if(TRUE === array_search($image, $chemin)) {
array_push ($chemin, 'img src="22"');
}

foreach($chemin as $val) {
echo $val.'<br>';
}
Merci
edit
in_array fait l'affaire
if(in_array($image, $chemin)) {
array_push ($chemin, 'img src="22"');
}

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

25 juin 2007, 10:42

Pour l'explication : array_search(), il recherche la valeur "needle" (chaine, nombre, ...) dans le tableau "haystack" et retourne la clé associée s'il la trouve, ou FALSE sinon. Le parametre strict force ou non la comparaison des types en fonction de la valeur de "needle"

in_array() fonctionne exactement de la même manière mais t'informe seulement si la valeur cherchée a été trouvée ou pas, tandis que array_search() te retourne en plus l'information de l'index qui lui est associé :)

Pense à ajouter le tag [Résolu] si cela fonctionne comme tu le souhaites ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...