Maison  >  Article  >  développement back-end  >  Opérateur Null Coalesce en PHP7 : Comment simplifier le jugement conditionnel du code ?

Opérateur Null Coalesce en PHP7 : Comment simplifier le jugement conditionnel du code ?

WBOY
WBOYoriginal
2023-10-20 09:18:35842parcourir

PHP7中的Null Coalesce运算符:如何简化代码的条件判断?

Opérateur Null Coalesce en PHP7 : Comment simplifier le jugement conditionnel du code ?

Pendant le processus de développement, nous devons souvent effectuer des jugements conditionnels sur des variables pour déterminer si elles ont une valeur ou si elles sont nulles. La méthode traditionnelle consiste à utiliser des instructions if ou des opérateurs ternaires pour effectuer des jugements conditionnels, mais cette façon d'écrire semble longue et compliquée dans certains cas. Heureusement, l'opérateur Null Coalesce (??) a été introduit dans PHP7, ce qui peut nous aider à simplifier la façon dont nous écrivons du code et à améliorer l'efficacité du développement.

L'opérateur Null Coalesce est un moyen concis de déterminer si une valeur est nulle. Sa syntaxe est la suivante :

$variable = $value ?? $default;

Dans le code ci-dessus, $value est la variable que nous devons juger et $default est la valeur par défaut que nous spécifions. Si $value existe et n’est pas nul, attribuez la valeur de $value à $variable sinon, attribuez la valeur de $default à $variable ;

Ce qui suit utilise plusieurs exemples spécifiques pour démontrer l'utilisation de l'opérateur Null Coalesce.

Tout d'abord, supposons que nous ayons une variable $user. Nous espérons que lors de la sortie, si le nom de l'utilisateur existe, le nom sera imprimé, sinon "Inconnu" sera imprimé. En utilisant la manière traditionnelle, nous pourrions écrire comme ceci :

if(isset($user['name'])) {
    echo $user['name'];
} else {
    echo "Unknown";
}

Mais en utilisant l'opérateur Null Coalesce, cela peut être simplifié en :

echo $user['name'] ?? "Unknown";

Ensuite, nous considérons un exemple plus complexe. Supposons que nous ayons un tableau $products, qui contient les prix de plusieurs produits. Nous devons calculer le prix total de tous les produits et imprimer le prix total. La manière traditionnelle pourrait être écrite comme ceci :

$totalPrice = 0;
foreach ($products as $product) {
    if(isset($product['price'])) {
        $totalPrice += $product['price'];
    }
}
echo $totalPrice;

Avec l'opérateur Null Coalesce, cela peut être simplifié en :

$totalPrice = 0;
foreach ($products as $product) {
    $totalPrice += $product['price'] ?? 0;
}
echo $totalPrice;

Dans le code ci-dessus, si $product['price'] existe et n'est pas nul, $product[ ' price'] est ajouté à $totalPrice ; sinon, 0 est ajouté à $totalPrice par défaut. De cette façon, nous n'avons plus besoin d'utiliser des instructions if pour porter des jugements conditionnels, et le code est plus concis et clair.

L'opérateur Null Coalesce peut être utilisé non seulement sur des tableaux, mais également sur des objets et autres structures de données complexes. Cela peut grandement simplifier le jugement conditionnel dans notre code, réduire la quantité de code et améliorer l'efficacité du développement.

Il convient de noter que lorsque vous utilisez l'opérateur Null Coalesce, vous devez clairement comprendre la priorité de l'opérateur. Si plusieurs opérateurs Null Coalesce sont utilisés dans une expression, l’ordre de calcul doit être déterminé en fonction de la priorité des opérateurs.

En résumé, l'opérateur Null Coalesce est une fonctionnalité très utile de PHP7, qui peut nous aider à simplifier les jugements conditionnels et les paramètres de valeurs par défaut dans le code. En utilisant rationnellement l'opérateur Null Coalesce, nous pouvons écrire du code plus concis et plus lisible et améliorer l'efficacité du développement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn