Page 1 sur 1

array_search()

Posté : 25 juin 2007, 04:16
par x@v
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"');
}

Posté : 25 juin 2007, 10:42
par Ryle
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 ;)