php array_search indice 0
Il semble que vous ne pouvez pas utiliser le search_array fonction en PHP pour rechercher l'indice 0 ET l'ont evalute comme vrai.
Considérer ce code par exemple:
$test=array(100, 101, 102, 103);
if($key=array_search(100,$test)){
echo $key;
}
else{
echo "Not found";
}
L'aiguille '100' est trouvé dans la botte de foin et la clé est retourné à 0. C'est très bien, mais alors quand j'évalue si la recherche a été un succès ou non il échoue parce que la valeur retournée est 0, est égale à false!
Le manuel php suggère d'utiliser '!==' mais ce faisant, la touche (index de tableau) n'est pas retourné, au lieu de 1 ou 0 est renvoyé:
if($key=(array_search(103,$test)!== false)){
}
Alors, comment puis-je réussir à la recherche d'un tableau, de trouver une correspondance dans l'indice 0 et ont à évaluer comme vrai?
N'avez-vous pas voir le GROSSE BOÎTE ROUGE? Essayez de lire la documentation et de comprendre la langue avant de poser de telles questions.
OriginalL'auteur | 2013-04-10
Vous devez vous connecter pour publier un commentaire.
Cela est explicitement mentionné dans les documents. Vous avez besoin d'utiliser
===
ou!==
:Sinon, lorsque
$key
est0
, qui renvoie la valeurfalse
lors d'un essai comme une valeur booléenne.if( ($key = array_search(...)) !== false)
J'ai lu plusieurs discussions à ce sujet, lire le manuel de cours et plus, mais ne pouvait pas trouver la réponse. Je pense que j'ai eu l' '!==' dans la mauvaise partie de mon code. Maintenant travail - merci!
OriginalL'auteur meagar
Le conditionnel dans votre deuxième exemple de bloc donne l'ordre d'exécution priorité à la
!==
opérateur, vous voulez faire l'opposé.!==
a plus priorité supérieure à==
qui rend les parenthèses nécessaires.OriginalL'auteur Explosion Pills
il est plus sûr
OriginalL'auteur Andrej Bestuzhev
OriginalL'auteur Peter Kiss
OriginalL'auteur rorra