Heim  >  Artikel  >  Backend-Entwicklung  >  Einige Gedanken, die durch die PHP-Funktion in_array verursacht wurden

Einige Gedanken, die durch die PHP-Funktion in_array verursacht wurden

高洛峰
高洛峰Original
2016-11-29 11:47:33957Durchsuche

Heute dachte ich plötzlich, dass die in_array-Funktion in PHP einen seltsamen Verwendungszweck hat. Freunde in Not können einfach darauf verweisen:

$a= array(" 1,2,3","4");

if(in_array(1,$a)){

echo "Bedingung ist erfüllt" ;

}

Diese Bedingung ist tatsächlich wahr, wenn der Wert von Parameter 1 „1, 2, 3“ ist 4, aber es ist überraschend, dass Battlefield sofort die folgende Situation getestet hat:

$a=array("a,2,3",". 4");

if(in_array('a',$a)){

echo "Die Bedingung ist nicht wahr";

}

Dies ist nicht wahr. Wenn im ersten Testfall Parameter 1 als „1“ geschrieben wird, ist die Schlussfolgerung ebenfalls nicht wahr :

Wenn in PHP der erste Parameter Zahlen ist – Zahlen ohne Anführungszeichen. Wenn der zweite Array-Parameter eine Zeichenfolge enthält, die mit der Zahl beginnt, wird ein wahrer Wert zurückgegeben, unabhängig davon, ob der erste Parameter ein vollständiges Element von ist Das heißt, in_array Die Funktion stimmt nicht jedes Mal mit dem gesamten Element überein, oder verstehe ich den Datentyp nicht klar genug?

Gleichzeitig habe ich auch festgestellt, dass, wenn das erste Element Ihres Arrays 0 ist, auch Probleme auftreten. Siehe die folgende Situation, der Code lautet wie folgt:

$a= array(0 ,"m");

if(in_array('mc6',$a))

{

echo "===="; 🎜>

}//Offener Quellcode phpfensi.com


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn