Come utilizzare PHP Null Coalescing Operator

Come utilizzare PHP Null Coalescing Operator
L'operatore di carbone NULL (??), una delle nuove caratteristiche di PHP 7, può essere utilizzata come alternativa all'operatore ternario e è impostato() funzione. Viene utilizzato per verificare se un valore viene assegnato a una variabile e restituisce un valore predefinito quando non viene definito alcun valore per una variabile. Questo operatore può anche essere usato per vedere se $ _Get [] E $ _Post [], che ricevono gli input utente, sono impostati. Inoltre, può verificare il valore di più di una variabile tramite incatenamento.

In questo articolo vengono discusse le differenze tra gli operatori di carbone ternario e nullo e l'operatore di coalescenza nulla viene utilizzato come alternativa all'operatore ternario e è impostato() funzione.

Confrontare l'operatore ternario e l'operatore di carbone NULL

Le principali differenze tra l'operatore ternario e l'operatore di coalescenza nulla sono descritte di seguito.

  1. Mentre l'operatore di coalescenza nulla può essere utilizzato per verificare i valori di due o più variabili tramite il concatenamento, l'operatore ternario viene utilizzato per impostare i valori per le due variabili in base a una condizione.
  2. Mentre l'operatore di coalescente nullo può verificare i valori nulli e non genera una no-notice, l'operatore ternario non può verificare i valori null e genera una notice elettronica per un valore null.
  3. L'operatore di carbone NULL restituisce il valore della variabile se quella variabile contiene un valore e non è nulla; L'operatore ternario restituisce il valore da sinistra del colon se la condizione è vera e da destra del colon se la condizione è falsa.
  4. L'operatore di carbone NULL è più leggibile dell'operatore ternario.
  5. L'operatore di carbone NULL è più veloce dell'operatore ternario.

Utilizzando l'operatore di carbone NULL

L'operatore di carbone NULL viene utilizzato nei seguenti esempi.

Esempio 1: usando l'operatore di coalescente nullo tra due variabili

L'operatore di carbone NULL può essere utilizzato con due o più variabili. In questo esempio, l'operatore viene utilizzato per verificare i valori di diverse variabili.

// Definisci due variabili
$ var1 = 'Questo è il primo valore di stringa.';
$ var3 = 'Questo è il terzo valore stringa.';
$ var4 = null;
$ var5 = 'Questo è il quinto valore stringa.';
$ var6 = ";
// Controlla il valore delle variabili
$ result1 = $ var1 ?? $ var2;
eco "

$ risultato1

";
// Controlla il valore delle variabili
$ risultato2 = $ var2 ?? $ var3;
eco "

$ risultato2

";
// Controlla il valore delle variabili
$ risultato3 = $ var4 ?? $ var5;
eco "

$ risultato3

";
// Controlla il valore delle variabili
$ result4 = $ var6 ?? $ var5;
eco "

$ risultato4

";
?>

Il seguente output verrà generato eseguendo lo script sopra. Il valore di $ var1 è stampato nel primo output, il valore di $ var3 è stampato nel secondo output (perché $ var2 è indefinito), il valore di $ var5 è stampato nel terzo output (perché $ var4 è null) e nulla è stampato per il quarto output (perché $ var6 è vuoto).


Esempio 2: Utilizzo dell'operatore di coalescenza NULL per controllare i valori $ _get [] e $ _post []

In questo esempio, l'operatore di carbone NULL viene utilizzato come alternativa al è impostato() funzione. Qui, i primi due operatori vengono utilizzati per verificare il valore del $ _Get [] array e il terzo operatore viene utilizzato per controllare il $ _Post [] vettore.

// Controlla il valore del nome dall'argomento URL
$ name = $ _get ['name'] ?? 'Sconosciuto';
// Controlla il valore e -mail dall'argomento URL
$ email = $ _get ['email'] ?? 'Non viene trovato nessun indirizzo email.';
// Controlla il valore del telefono in array $ _post e in $ _Get Array
$ telefono = $ _post ['telefono'] ?? $ _Get ['telefono'] ?? 'Nessun numero di telefono trovato.';
// stampa l'output delle tre variabili
eco " Nome: $ Nome
E-mail: $ email
Telefono: $ telefono ";
?>

Il seguente output verrà generato eseguendo lo script sopra senza fornire valori per $ _Get ['name'], $ _get ['email'], $ _get ['telefono'] e $ _post ['telefono'].


Il seguente output verrà generato se si esegue lo script con valori per $ _Get ['name'] E $ _Get ['email']. Quando viene eseguita la terza dichiarazione dello script, il valore di $ _Post ['telefono'], che non è definito, è controllato. Successivamente, il valore di $ _Get ['telefono'], che è anche indefinito, è controllato. Pertanto, il valore predefinito viene stampato per il terzo output.


Esempio 3: confronto dell'operatore ternario con l'operatore di coalescente nulla

In questo esempio, l'operatore di coalescenza nulla viene utilizzato per sostituire l'operatore ternario. Qui, l'operatore ternario viene utilizzato per verificare il valore di $ _Get ['n'], E se la variabile contiene un valore, archiverà nella variabile $ numero; Altrimenti, stamperà non definito. Lo stesso compito viene svolto utilizzando l'operatore di coalescente nullo nell'ultima parte dello script.

eco "L'output dell'operatore ternario:
";
// utilizzando l'operatore ternario per controllare la variabile
$ NUMBER = ISSET ($ _ GET ['n']) ? $ _Get ['n']: "indefinito";
echo "Il valore di n è $ numero
";
eco "L'output dell'operatore di coalescente nullo:
";
// utilizzando l'operatore di coalescente null per controllare la variabile
$ numera = $ _get ['n'] ?? 'non definito';
echo "Il valore di n è $ numero
";
?>

Il seguente output verrà generato se si esegue lo script senza fornire valori per $ _Get ['n']. Qui, l'operatore ternario controlla se la variabile $ _Get ['n'] è impostato. Le uscite sia dell'operatore ternario che dell'operatore di coalescenza nulla sono non definito Perché non è impostato alcun valore per $ _Get ['n'].


Il seguente output verrà generato se si esegue lo script con un valore per $ _Get ['n']. Sia l'operatore ternario che l'operatore di coalescente nullo hanno stampato il valore di $ _Get ['n'] fornito nell'URL. Qui, 100 sono assegnati per l'argomento n.

Conclusione

L'operatore di carbone NULL è una caratteristica utile di PHP che può essere utilizzata come alternativa all'operatore ternario e è impostato() funzione. È meglio dell'operatore ternario perché è più veloce e può verificare i valori di più variabili tramite il concatenamento, come mostrato nel secondo esempio.

Tutorial video