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