In diesem Artikel werden die Unterschiede zwischen den ternären und null -Koaleszenatoren erörtert, und der Null -Koalescing -Operator wird als Alternative zum ternären Operator und als Alternative verwendet isset () Funktion.
Vergleich des ternären Operators und des Null -Koalescing -Operators
Die Hauptunterschiede zwischen dem ternären Operator und dem Null -Koalescing -Operator werden nachstehend beschrieben.
Verwenden des Null -Koalescing -Operators
Der Null -Koalescing -Operator wird in den folgenden Beispielen verwendet.
Beispiel 1: Verwenden des Null -Koalescing -Operators zwischen zwei Variablen
Der Null -Koalescing -Operator kann mit zwei oder mehr Variablen verwendet werden. In diesem Beispiel wird der Bediener verwendet, um die Werte verschiedener Variablen zu überprüfen.
// zwei Variablen definieren$ result1
";$ result2
";$ result3
";$ result4
";Die folgende Ausgabe wird erzeugt, indem das obige Skript ausgeführt wird. Der Wert von $ var1 wird in der ersten Ausgabe gedruckt, der Wert von $ var3 wird im zweiten Ausgang gedruckt (weil $ var2 ist undefiniert), der Wert von $ var5 wird in der dritten Ausgabe gedruckt (weil $ var4 ist null) und für die vierte Ausgabe wird nichts gedruckt (weil $ var6 ist leer).
Beispiel 2: Verwenden des Null -Koalescing -Operators $ _get [] und $ _post [] Werte
In diesem Beispiel wird der Null -Koalescing -Operator als Alternative zur isset () Funktion. Hier werden die ersten beiden Operatoren verwendet, um den Wert der zu überprüfen $ _Get [] Array, und der dritte Bediener wird verwendet, um die zu überprüfen $ _Post [] Array.
// Überprüfen Sie den Namenswert aus dem URL -ArgumentDie folgende Ausgabe wird generiert, indem das obige Skript ausgeführt wird, ohne Werte für die Bereitstellung von Werten zu liefern $ _Get ['name'], $ _get ['E -Mail'], $ _get ['Telefon'] und $ _post ['Telefon'].
Die folgende Ausgabe wird generiert, wenn Sie das Skript mit Werten für ausführen $ _Get ['Name'] Und $ _Get ['E -Mail']. Wenn die dritte Anweisung des Skripts ausgeführt wird, der Wert von $ _POST ['Telefon'], das undefiniert ist, wird überprüft. Als nächstes der Wert von $ _Get ['Telefon'], Das ist auch undefiniert, wird überprüft. Daher wird der Standardwert für die dritte Ausgabe gedruckt.
Beispiel 3: Vergleich des ternären Operators mit dem Null -Koalescing -Operator
In diesem Beispiel wird der Null -Koalescing -Operator verwendet, um den ternären Operator zu ersetzen. Hier wird der ternäre Operator verwendet, um den Wert von zu überprüfen $ _Get ['n'], und wenn die Variable einen Wert enthält, speichert sie in der Variablen $ nummer; Andernfalls wird es gedruckt nicht definiert. Die gleiche Aufgabe erfolgt mit dem Null -Koalescing -Operator im letzten Teil des Skripts.
Echo "Die Ausgabe des ternären Operators:Die folgende Ausgabe wird generiert, wenn Sie das Skript ausführen, ohne Werte für bereitzustellen $ _Get ['n']. Hier prüft der ternäre Operator, ob die Variable $ _Get ['n'] ist gesetzt. Die Ausgänge sowohl des ternären Operators als auch des Null -Koalescing -Operators sind nicht definiert Weil kein Wert für ein festgelegt ist für $ _Get ['n'].
Die folgende Ausgabe wird generiert, wenn Sie das Skript mit einem Wert für ausführen $ _Get ['n']. Sowohl der ternäre Operator als auch der Null -Koalescing -Operator druckten den Wert von $ _Get ['n'] in der URL bereitgestellt. Hier wird 100 für das Argument n zugewiesen.
Abschluss
Der Null -Koalescing -Operator ist ein nützliches Merkmal von PHP, das als Alternative zum ternären Operator und der verwendet werden kann isset () Funktion. Es ist besser als der ternäre Operator, da es schneller ist und die Werte mehrerer Variablen per Ketten überprüfen kann, wie im zweiten Beispiel gezeigt.
Videoanleitung