Comment utiliser l'opérateur de coalescination null php

Comment utiliser l'opérateur de coalescination null php
L'opérateur de fusion nul (??), l'une des nouvelles fonctionnalités de PHP 7, peut être utilisée comme alternative à l'opérateur ternaire et isset () fonction. Il est utilisé pour vérifier si une valeur est attribuée à une variable, et il renvoie une valeur par défaut lorsqu'aucune valeur n'est définie pour une variable. Cet opérateur peut également être utilisé pour voir si $ _Get [] et $ _Post [], qui reçoivent des entrées utilisateur, sont définies. De plus, il peut vérifier la valeur de plusieurs variables via le chaînage.

Dans cet article, les différences entre les opérateurs de fusion ternaires et nuls sont discutées, et l'opérateur de coalescence nulle est utilisé comme alternative à l'opérateur ternaire et isset () fonction.

Comparaison de l'opérateur ternaire et de l'opérateur de fusion nul

Les principales différences entre l'opérateur ternaire et l'opérateur de coalescence nulle sont décrites ci-dessous.

  1. Alors que l'opérateur de fusion nul peut être utilisé pour vérifier les valeurs de deux variables ou plus via le chaînage, l'opérateur ternaire est utilisé pour définir des valeurs pour les deux variables en fonction d'une condition.
  2. Alors que l'opérateur de fusion nul peut vérifier les valeurs nulles et ne génère pas de discours électronique, l'opérateur ternaire ne peut pas vérifier les valeurs nulles et génère une note électronique pour une valeur nul.
  3. L'opérateur de coalescence nulle renvoie la valeur de la variable si cette variable contient une valeur et n'est pas nul; L'opérateur ternaire renvoie la valeur de la gauche du côlon si la condition est vraie et de la droite du côlon si la condition est fausse.
  4. L'opérateur de fusion nul est plus lisible que l'opérateur ternaire.
  5. L'opérateur de fusion nul est plus rapide que l'opérateur ternaire.

Utilisation de l'opérateur de fusion nul

L'opérateur de coalescence nulle est utilisé dans les exemples suivants.

Exemple 1: Utilisation de l'opérateur de coalescence nul entre deux variables

L'opérateur de fusion nul peut être utilisé avec deux variables ou plus. Dans cet exemple, l'opérateur est utilisé pour vérifier les valeurs de différentes variables.

// définir deux variables
$ var1 = 'Ceci est la première valeur de chaîne.';;
$ var3 = 'Ceci est la troisième valeur de chaîne.';;
$ var4 = null;
$ var5 = 'Ceci est la cinquième valeur de chaîne.';;
$ var6 = ";
// vérifie la valeur des variables
$ result1 = $ var1 ?? $ var2;
écho "

$ résultat1

"
// vérifie la valeur des variables
$ result2 = $ var2 ?? $ var3;
écho "

$ résultat2

"
// vérifie la valeur des variables
$ result3 = $ var4 ?? $ var5;
écho "

$ résultat3

"
// vérifie la valeur des variables
$ result4 = $ var6 ?? $ var5;
écho "

$ résultat4

"
?>

La sortie suivante sera générée en exécutant le script ci-dessus. La valeur de $ var1 est imprimé dans la première sortie, la valeur de $ var3 est imprimé dans la deuxième sortie (car $ var2 n'est pas défini), la valeur de $ var5 est imprimé dans la troisième sortie (car $ var4 est nul), et rien n'est imprimé pour la quatrième sortie (car $ var6 est vide).


Exemple 2: Utilisation de l'opérateur de coalescination nul pour vérifier les valeurs $ _get [] et $ _post []

Dans cet exemple, l'opérateur de fusion nul est utilisé comme alternative à la isset () fonction. Ici, les deux premiers opérateurs sont utilisés pour vérifier la valeur du $ _Get [] tableau, et le troisième opérateur est utilisé pour vérifier le $ _Post [] déployer.

// Vérifiez la valeur du nom de l'argument URL
$ name = $ _get ['name'] ?? 'Inconnu';
// Vérifiez la valeur de l'e-mail à partir de l'argument URL
$ email = $ _get ['e-mail'] ?? 'Aucune adresse e-mail n'est trouvée.';;
// Vérifiez la valeur du téléphone dans un tableau $ _post et dans un tableau $ _get
$ phone = $ _post ['phone'] ?? $ _Get ['téléphone'] ?? 'Aucun numéro de téléphone trouvé.';;
// imprime la sortie des trois variables
écho " Nom: $ nom
E-mail: $ e-mail
Téléphone: $ téléphone ";
?>

La sortie suivante sera générée en exécutant le script ci-dessus sans fournir de valeurs pour $ _Get ['name'], $ _get ['email'], $ _get ['phone'] et $ _post ['téléphone'].


La sortie suivante sera générée si vous exécutez le script avec des valeurs pour $ _Get ['name'] et $ _Get ['e-mail']. Lorsque la troisième instruction du script est exécutée, la valeur de $ _Post ['téléphone'], qui n'est pas défini, est vérifié. Ensuite, la valeur de $ _Get ['téléphone'], qui n'est également pas défini, est vérifié. Par conséquent, la valeur par défaut est imprimée pour la troisième sortie.


Exemple 3: Comparaison de l'opérateur ternaire à l'opérateur de coalescence nul

Dans cet exemple, l'opérateur de fusion nul est utilisé pour remplacer l'opérateur ternaire. Ici, l'opérateur ternaire est utilisé pour vérifier la valeur de $ _Get ['n'], et si la variable contient une valeur, elle stockera dans la variable Nombre $; Sinon, il imprimera indéfini. La même tâche se fait en utilisant l'opérateur de coalescing null dans la dernière partie du script.

écho "La sortie de l'opérateur ternaire:
"
// Utilisation de l'opérateur ternaire pour vérifier la variable
$ numéro = isset ($ _ get ['n']) ? $ _Get ['n']: "Undefined";
Echo "La valeur de n est un numéro de $
"
écho "La production de l'opérateur de coalescence nul:
"
// Utilisation de l'opérateur de coalescination nul pour vérifier la variable
$ numéro = $ _get ['n'] ?? 'indéfini';
Echo "La valeur de n est un numéro de $
"
?>

La sortie suivante sera générée si vous exécutez le script sans fournir de valeurs pour $ _Get ['n']. Ici, l'opérateur ternaire vérifie si la variable $ _Get ['n'] est réglé. Les sorties de l'opérateur ternaire et de l'opérateur de fusion null sont indéfini Parce qu'aucune valeur n'est définie pour $ _Get ['n'].


La sortie suivante sera générée si vous exécutez le script avec une valeur pour $ _Get ['n']. L'opérateur ternaire et l'opérateur de fusion null ont imprimé la valeur de $ _Get ['n'] fourni dans l'URL. Ici, 100 est affecté à l'argument n.

Conclusion

L'opérateur de fusion nul est une caractéristique utile de PHP qui peut être utilisée comme alternative à l'opérateur ternaire et au isset () fonction. Il est mieux que l'opérateur ternaire car il est plus rapide et peut vérifier les valeurs de plusieurs variables via le chaînage, comme le montre le deuxième exemple.

Didacticiel vidéo