Jak używać operatora koalescingu PHP NULL

Jak używać operatora koalescingu PHP NULL
Null Koalescing Operator (??), jedna z nowych cech PHP 7, może być używana jako alternatywa dla operatora trójskładnikowego i isset () funkcjonować. Służy do sprawdzenia, czy wartość jest przypisana do zmiennej i zwraca wartość domyślną, gdy nie jest zdefiniowana dla zmiennej. Ten operator można również użyć, aby sprawdzić, czy $ _Get [] I $ _Post [], które odbierają wejścia użytkowników, są ustawione. Ponadto może sprawdzić wartość więcej niż jednej zmiennej poprzez łączenie.

W tym artykule omówiono różnice między operatorami trójskładnikowymi i zerowymi, a operator zerowy jest wykorzystywany jako alternatywa dla operatora trójskładnikowego i isset () funkcjonować.

Porównanie operatora trójskładnikowego i operatora zerowego

Główne różnice między operatorem trójskładnikowym a operatorem zerowym.

  1. Podczas gdy operator koalescingu zerowego można użyć do sprawdzenia wartości dwóch lub więcej zmiennych poprzez łączenie, operator trójskładnikowy jest używany do ustawiania wartości dla dwóch zmiennych na podstawie warunku.
  2. Podczas gdy operator koalescingu zerowego może sprawdzić wartości zerowe i nie generuje e-notice, operator trójskładnikowy nie może sprawdzić wartości zerowych i generuje notice e dla wartości zerowej.
  3. Operator z NULL Koalescing zwraca wartość zmiennej, jeżeli zmienna ta zawiera wartość i nie jest zerowa; Operator trójskładnikowy zwraca wartość z lewej jelita grubego, jeśli warunek jest prawdziwy i z prawej strony okrężnicy.
  4. Null Koalescing Operator jest bardziej czytelny niż operator trójskładnikowy.
  5. Null Koalescing Operator jest szybszy niż operator trójskładnikowy.

Korzystanie z NULL Koalescing Operator

Null Koalescing Operator jest używany w następujących przykładach.

Przykład 1: Korzystanie z zerowego operatora koalescingu między dwiema zmiennymi

Null Koalescing Operator może być używany z dwiema lub więcej zmiennymi. W tym przykładzie operator służy do sprawdzenia wartości różnych zmiennych.

// Zdefiniuj dwie zmienne
$ var1 = 'to jest pierwsza wartość ciągu.';;
$ var3 = 'jest to trzecia wartość ciągu.';;
$ var4 = null;
$ var5 = 'to jest piąta wartość ciągu.';;
$ var6 = ";
// Sprawdź wartość zmiennych
$ wynik1 = $ var1 ?? $ var2;
Echo "

$ wynik1

";
// Sprawdź wartość zmiennych
$ wynik2 = $ var2 ?? $ var3;
Echo "

$ wynik2

";
// Sprawdź wartość zmiennych
$ wynik3 = $ var4 ?? $ var5;
Echo "

$ wynik3

";
// Sprawdź wartość zmiennych
$ wynik 4 = $ var6 ?? $ var5;
Echo "

$ wynik 4

";
?>

Następujące dane wyjściowe zostanie wygenerowane przez uruchomienie powyższego skryptu. Wartość $ var1 jest wydrukowany w pierwszym wyjściu, wartość $ var3 jest wydrukowany w drugim wyjściu (ponieważ $ var2 jest niezdefiniowany), wartość $ var5 jest wydrukowany w trzeciej wyjściu (ponieważ $ var4 jest null) i nic nie jest drukowane dla czwartego wyjścia (ponieważ $ var6 jest pusty).


Przykład 2: Korzystanie z NULL Koalescing Operator do sprawdzenia wartości $ _get [] i $ _post []

W tym przykładzie operator zerowy jest używany jako alternatywa dla isset () funkcjonować. Tutaj dwóch pierwszych operatorów są używane do sprawdzenia wartości $ _Get [] tablica, a trzeci operator służy do sprawdzenia $ _Post [] szyk.

// Sprawdź wartość nazwy z argumentu URL
$ name = $ _get ['Nazwa'] ?? 'Nieznany';
// Sprawdź wartość e -mail z argumentu URL
$ e -mail = $ _get ['e -mail'] ?? „Nie znaleziono adresu e -mail.';;
// Sprawdź wartość telefonu w tablicy $ _post i w $ _get Array
$ Phone = $ _POST ['PONASE'] ?? $ _Get ['Phone'] ?? „Nie znaleziono numeru telefonu.';;
// Wydrukuj wyjście trzech zmiennych
Echo " Nazwa: $ Nazwa
E-mail: $ e -mail
Telefon: $ Phone ”;
?>

Następujące dane wyjściowe zostanie wygenerowane przez uruchomienie powyższego skryptu bez dostarczenia wartości dla $ _GET ['Nazwa'], $ _get ['e -mail'], $ _get ['Phone'] i $ _post ['Phone'].


Następujące dane wyjściowe zostanie wygenerowane, jeśli uruchomisz skrypt z wartościami dla $ _Get ['Nazwa'] I $ _Get ['e -mail']. Po wykonaniu trzeciego instrukcji skryptu wartość $ _POST [„PONASE”], który jest niezdefiniowany, jest sprawdzany. Następnie wartość $ _Get ['Phone'], który jest również niezdefiniowany, jest sprawdzany. Dlatego wartość domyślna jest drukowana dla trzeciego wyjścia.


Przykład 3: Porównanie operatora trójskładnikowego z operatorem zerowym

W tym przykładzie do wymiany operatora trójskładnikowego jest używany. Tutaj operator trójskładnikowy służy do sprawdzenia wartości $ _Get ['n'], a jeśli zmienna zawiera wartość, będzie przechowywać w zmiennej $ liczba; W przeciwnym razie wydrukuje nieokreślony. To samo zadanie odbywa się przy użyciu operatora zerowego Koalescing w ostatniej części skryptu.

Echo "Wyjście operatora trójskładnikowego:
";
// za pomocą operatora trójskładnikowego do sprawdzania zmiennej
$ numer = isset ($ _ get ['n']) ? $ _Get ['n']: „Undefined”;
echo „Wartość n to numer $
";
Echo "Wyjście zerowego operatora koalescingowego:
";
// Korzystanie z operatora z null koalescing do sprawdzenia zmiennej
$ numer = $ _get ['n'] ?? 'nieokreślony';
echo „Wartość n to numer $
";
?>

Następujące dane wyjściowe zostanie wygenerowane, jeśli uruchomisz skrypt bez podawania wartości dla $ _Get ['n']. Tutaj operator trójskładnik sprawdza, czy zmienna $ _Get ['n'] jest ustawiony. Wyjścia zarówno operatora trójskładnikowego, jak i zerowego operatora koalescing nieokreślony Ponieważ nie jest ustalana żadna wartość $ _Get ['n'].


Następujące dane wyjściowe zostanie wygenerowane, jeśli uruchomisz skrypt o wartości dla $ _Get ['n']. Zarówno operator trójskładnik, jak i operator zerowy $ _Get ['n'] dostarczone w adresie URL. Tutaj 100 przypisuje się do argumentu n.

Wniosek

Null Koalescing Operator jest przydatną cechą PHP, która może być używana jako alternatywa dla operatora trójskładnikowego i isset () funkcjonować. Jest lepszy niż operator trójskładnikowy, ponieważ jest szybszy i może sprawdzić wartości wielu zmiennych poprzez łączenie, jak pokazano w drugim przykładzie.

Film instruktażowy