In diesem Artikel wird hauptsächlich die Typbeurteilungsoperation in der schwach typisierten PHP-Sprache vorgestellt und die Konvertierungs-, Beurteilungs- und Funktionsnutzungsfähigkeiten sowie Vorsichtsmaßnahmen für Datentypen in PHP anhand von Beispielen analysiert.
Das Beispiel in diesem Artikel beschreibt die Typbeurteilungsoperation in der schwach typisierten PHP-Sprache. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
1 Wenn PHP eine Zahl mit einer Zeichenfolge vergleicht oder Operationen ausführt, wandelt PHP die Zeichenfolge in eine Zahl um und vergleicht sie dann. Die Regeln der PHP-Konvertierung lauten: Wenn der String mit einer Zahl beginnt, wird die Startnummer als Konvertierungsergebnis verwendet, andernfalls wird 0 ausgegeben.
Zum Beispiel: 123abc sollte nach der Konvertierung 123 sein, und abc ist 0, 0==0. Einzelheiten finden Sie im offiziellen Handbuch: Wenn Sie eine ganze Zahl vergleichen und eine Zeichenfolge, das Zeichen Die Zeichenfolge wird in eine Ganzzahl umgewandelt
$a = ($b=4)+5; echo $a; //9 echo '<p>'; var_dump(1=='1a'); //true echo '<p>'; var_dump(1=='2a'); //false echo '<p>'; var_dump(1=='a1'); //false echo '<p>'; var_dump("1"=='1a'); //false echo '<p>'; var_dump('51a'+6); //57 echo '<p>'; var_dump('a51'+6); //6
2. In PHP führt == zuerst die Typkonvertierung durch und vergleicht dann , während === zuerst die Typen vergleicht, wird ungleich direkt zurückgegeben
$a = null; $b = ''; $c = 0; echo ($a == $b) ? 1 : 0; // 输出1 echo ($a === $b) ? 1 : 0; // 输出0 echo ($a == $c) ? 1 : 0; // 输出1 echo ($a === $c) ? 1 : 0; // 输出0 echo ($b == $c) ? 1 : 0; // 输出1 echo ($b === $c) ? 1 : 0; // 输出0
3. Leere und isset-Funktionen in PHP
1) Wenn die Variablen: 0, „0“, null, '', false, array() sind, verwenden Sie die leere Funktion und die Die zurückgegebenen Werte sind alle wahr
2) Die Variable ist undefiniert. Oder wenn sie null ist, gibt die Isset-Funktion false zurück und die anderen sind nicht wahr
$a = null; $b = ''; $c = 0; $d = "0"; $e = false; $f = array(); var_dump(empty($a)); //true echo '<p>'; var_dump(empty($b)); //true echo '<p>'; var_dump(empty($c)); //true echo '<p>'; var_dump(empty($d)); //true echo '<p>'; var_dump(empty($e)); //true echo '<p>'; var_dump(empty($f)); //true echo '<p>'; var_dump(isset($a)); //false echo '<p>'; var_dump(isset($b)); //true echo '<p>'; var_dump(isset($c)); //true echo '<p>'; var_dump(isset($d)); //true echo '<p>'; var_dump(isset($e)); //true echo '<p>'; var_dump(isset($f)); //true echo '<p>'; var_dump(isset($g)); //false
In diesem Fall muss offensichtlich beurteilt werden, ob die ABC-Zeichenfolge a enthält. Das erwartete Ergebnis sollte die Ausgabe 1 sein. Das tatsächliche Ergebnis Die Ausgabe ist 2. Dies liegt daran, dass die Funktion strpos die Zielzeichenfolge zurückgibt, wenn sie nicht mit der Zielzeichenfolge übereinstimmt. An der Indexposition in der Suchzeichenfolge wird hier 0 zurückgegeben. Es ist richtig,
$sms = "abc"; if(strpos($sms,'a') != false ){ echo 1; }else{ echo 2; }
5. Zeilenumbrüche erfordern doppelte Anführungszeichen
$sms = "abc"; if(strpos($sms,'a') !== false ){ echo 1; }else{ echo 2; }
Wenn Sie es so schreiben, sieht die Datei so aus wenn Sie es öffnen 2016-09-02 08:04:04rn2016-09-02 08:04:05rn2016-09-02 08:04:05rn2016-09-02 08:04:05rn2016-09-02 08:04:22
Richtige Schreibweise Es ist rn, setzen Sie es in doppelte AnführungszeichenDas obige ist der detaillierte Inhalt vonBeispielanalyse der Typbeurteilung in einer schwach typisierten PHP-Sprache. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!