Heim > Artikel > Backend-Entwicklung > PHP ermittelt über verschiedene Funktionen 0 und leere PHP-Instanzen
Dieser Artikel stellt Ihnen die Methode zur Beurteilung von 0 und leer in PHP und verschiedenen Funktionen vor. In dem Artikel stelle ich Ihnen auch die Lösung vor, dass 0 in der PHP-Syntax nicht gleich Null ist PHP Chinesische Website. Lernen Sie
Funktionsurteil von 0
$cast_id = 0; var_dump(strlen($cast_id)); //1 var_dump(empty($cast_id)); // true var_dump(isset($cast_id)); //true var_dump(is_null($cast_id));//false
Richter von null
$cast_id = ""; var_dump(strlen($cast_id)); //0 var_dump(empty($cast_id)); // true var_dump(isset($cast_id)); //true var_dump(is_null($cast_id));//false
Zusätzlich: Lassen Sie mich Ihnen die Lösung für das Problem vorstellen, dass 0 in der PHP-Syntax nicht gleich Null ist
Ich bin heute auf ein solches Problem gestoßen: In der PHP-Anweisung möchte ich feststellen, ob ein Wert größer oder gleich 0 ist. Ich habe ($value !=null && $value >=0
) verwendet und das zurückgegebene Ergebnis war leer, was ist wirklich seltsam.
Experimentelle Zusammenfassung:
Die PHP-Anweisung lautet wie folgt:
$index=0; echo "A: ".$index."<br>"; //0 echo "B: ".($index !=null && $index >=0)."<br>";// echo "C: ".(isset($index) && $index >=0)."<br>";//1 echo "D: ".(0 !=null)."<br>";//
Ergebnis:
A : 0
B:
C: 1
D:
Um festzustellen, ob ein Wert [das Array möglicherweise leer ist usw.] größer ist größer oder gleich 0 ist, kann eine andere Methode verwendet werden: is_numeric($index) === true
$index=array_search($url, $contentOtherStr, true); //值大于等于0, 即存在 if(is_numeric($index) === true) { echo "$url existed. "."<br>"; }else{ echo "$url Add. "."<br>"; array_push($contentOtherStr, $url); }
Das ist sehr seltsam, endlich gelöst. Markieren.
Zusammenfassung: Die Aussagen von PHP sind etwas seltsam. Schüler, die von anderen Programmiersprachen gewechselt sind, müssen vorsichtiger sein und auf Trägheitsdenken und grammatikalische Unterschiede achten, um nicht in Fallstricke zu geraten.
Weitere Informationen:
Der Grund dafür ist, dass Variablen in PHP in C-Sprachstrukturen gespeichert werden. NULL und false basieren alle auf Werten gespeichert, und diese Struktur hat einen zend_uchar-Typ; eine solche Mitgliedsvariable wird zum Speichern des Variablentyps verwendet, und der Typ der leeren Zeichenfolge ist string, der Typ von NULL ist NULL und false ist boolesch.
Dies kann mit echo gettype('');
und echo gettype(NULL);
ausgedruckt werden! Der ===-Operator vergleicht nicht nur Werte, sondern auch Typen, daher ist der dritte Operator falsch!
Außerdem ist in PHP
= ein Gleichheitszeichen die Zuweisung
== Zwei Gleichheitszeichen werden zur Beurteilung der Gleichheit verwendet und nur Werte und keine Typen verglichen
=== Drei Gleichheitszeichen werden verwendet, um zu beurteilen, ob Werte und Typen gleich sind
!= Nicht-Gleichheitszeichen, nur Werte vergleichen, unabhängig vom Typ
!== Inkongruentes Vorzeichen, Werte und Typen vergleichen
also Leere Zeichenfolge (''), false, NULL und 0 sind im Wert gleich, aber unterschiedlich im Typ!
Hinweis:
NULL ist ein besonderer Typ.
NULL in beiden Fällen
1. $var = NULL;
2. $var ;
3."", 0, "0", NULL, FALSE, array(), var $var; und Objekte ohne Attribute werden als leer betrachtet. Wenn var leer ist, wird TRUE zurückgegeben.
PHP-Tipps zum Erkennen von auf dem Kopf stehenden Bildern, die mit dem iPhone aufgenommen wurden
PHP-Implementierung der Funktion zur Überprüfung des Anmeldebestätigungscodes, PHP-Beispiel
So verwenden Sie Composer, um ThinkPHP5 in einer Windows-Umgebung zu installieren
Das obige ist der detaillierte Inhalt vonPHP ermittelt über verschiedene Funktionen 0 und leere PHP-Instanzen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!