So verwenden Sie PHP -Null -Koalescing -Operator

So verwenden Sie PHP -Null -Koalescing -Operator
Der Null -Koalescing -Operator (??) Eine der neuen Merkmale von Php 7 kann als Alternative zum ternären Operator und verwendet werden isset () Funktion. Es wird verwendet, um zu überprüfen. Dieser Bediener kann auch verwendet werden, um zu sehen, ob $ _Get [] Und $ _Post [], Die empfangenen Benutzereingaben werden festgelegt. Darüber hinaus kann es den Wert von mehr als einer Variablen über die Verkettung überprüfen.

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.

  1. Während der Null -Koalescing -Operator verwendet werden kann, um die Werte von zwei oder mehr Variablen über die Verkettung zu überprüfen, wird der ternäre Operator verwendet, um Werte für die beiden Variablen basierend auf einer Bedingung festzulegen.
  2. Während der Null-Koalescing-Operator auf Nullwerte prüfen und keine E-Notice erzeugt, kann der ternäre Operator nicht auf Nullwerte prüfen und generiert eine E-Notice für einen Nullwert.
  3. Der Null -Koalescing -Operator gibt den Wert der Variablen zurück, wenn diese Variable einen Wert enthält und nicht null ist. Der ternäre Operator gibt den Wert von links vom Dickdarm zurück, wenn die Bedingung wahr ist, und von rechts des Dickdarms, wenn die Bedingung falsch ist.
  4. Der Null -Koalescing -Operator ist lesbarer als der ternäre Operator.
  5. Der Null -Koalescing -Operator ist schneller als der ternäre Operator.

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
$ var1 = 'Dies ist der erste String -Wert.';
$ var3 = 'Dies ist der dritte String -Wert.';
$ var4 = null;
$ var5 = 'Dies ist der fünfte String -Wert.';
$ var6 = ";
// Überprüfen Sie den Wert der Variablen
$ result1 = $ var1 ?? $ var2;
Echo "

$ result1

";
// Überprüfen Sie den Wert der Variablen
$ result2 = $ var2 ?? $ var3;
Echo "

$ result2

";
// Überprüfen Sie den Wert der Variablen
$ result3 = $ var4 ?? $ var5;
Echo "

$ result3

";
// Überprüfen Sie den Wert der Variablen
$ result4 = $ var6 ?? $ var5;
Echo "

$ 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 -Argument
$ name = $ _get ['name'] ?? 'Unbekannt';
// Überprüfen Sie den E -Mail -Wert aus dem URL -Argument
$ mail = $ _get ['E -Mail'] ?? 'Es wird keine E -Mail -Adresse gefunden.';
// den Telefonwert in $ _post -Array und in $ _get -Array überprüfen
$ mone = $ _post ['Telefon'] ?? $ _Get ['Telefon'] ?? 'Keine Telefonnummer gefunden.';
// Drucken Sie die Ausgabe der drei Variablen aus
Echo " Name: $ Name
Email: $ E -Mail
Telefon: $ Telefon ";
?>

Die 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:
";
// Verwenden Sie den ternären Operator, um die Variable zu überprüfen
$ number = isset ($ _ get ['n']) ? $ _Get ['n']: "undefiniert";
echo "Der Wert von n ist $ nummer
";
Echo "Der Ausgang des Null -Koalescing -Operators:
";
// Verwenden von Null -Koalescing -Operator zur Überprüfung der Variablen
$ number = $ _get ['n'] ?? 'nicht definiert';
echo "Der Wert von n ist $ nummer
";
?>

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