php array_search 0 index
Es scheint, dass Sie nicht verwenden können, die search_array-Funktion in PHP zu suchen, die die Indexposition 0 UND haben es evalute, wie wahr.
Betrachten Sie diesen code zum Beispiel:
$test=array(100, 101, 102, 103);
if($key=array_search(100,$test)){
echo $key;
}
else{
echo "Not found";
}
Die Nadel '100' ist in den Heuhaufen und der Schlüssel zurückgegeben wird, wie 0. So weit So gut, aber wenn ich dann beurteilen, ob die Suche erfolgreich war oder nicht, es schlägt fehl, da der zurückgegebene Wert 0 ist, ist gleich falsch!
Im php-Handbuch empfiehlt die Verwendung von '!==' damit aber der key (array-index) wird nicht zurückgegeben, stattdessen entweder 1 oder 0 zurückgegeben:
if($key=(array_search(103,$test)!== false)){
}
Also, wie kann ich erfolgreich suchen array, finden eine Entsprechung in der 0-index und haben es als true ausgewertet?
InformationsquelleAutor | 2013-04-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist ausdrücklich in der Dokumentation. Sie benötigen
===
oder!==
:Sonst, wenn
$key
ist0
, die wertet auffalse
, wenn getestet, wie ein boolean.if( ($key = array_search(...)) !== false)
Ich Lesen mehrere threads auf diese, lies das Handbuch über und über, konnte aber keine Antwort finden. Ich glaube, ich hatte das '!==' in den falschen Teil von meinem code. Jetzt funktioniert - vielen Dank!
InformationsquelleAutor meagar
Dem bedingten in deinem zweiten Beispiel-block gibt die Ausführung, um die Priorität auf die
!==
Betreiber, Sie wollen das Gegenteil tun, obwohl.!==
hat höher Priorität als==
die macht der Klammern erforderlich.InformationsquelleAutor Explosion Pills
es ist sicherer
InformationsquelleAutor Andrej Bestuzhev
InformationsquelleAutor Peter Kiss
InformationsquelleAutor rorra