Maison >développement back-end >PHP7 >Le nouvel opérateur de coalescence nul en PHP7 : Comment simplifier le jugement logique du code ?
Un opérateur très pratique a été ajouté à PHP7 : l'opérateur de coalescence nul. Cet opérateur peut être utilisé pour simplifier les jugements logiques dans le code, rendant le code plus concis et plus lisible.
Les jugements logiques traditionnels sont généralement implémentés à l'aide d'opérateurs ternaires ou d'instructions if-else. Par exemple, si l'on veut obtenir la valeur d'une variable, si la variable existe, utilisez la valeur de la variable, sinon utilisez la valeur par défaut. Avant PHP7, nous pouvions écrire du code comme celui-ci :
$value = isset($variable) ? $variable : $default;
Un tel code semble lourd et pas assez intuitif. L'utilisation de l'opérateur de fusion nul peut rendre le code plus concis et clair :
$value = $variable ?? $default;
Utilisez l'opérateur de fusion nul. Si $variable existe et n'est pas nul, la valeur de $variable est utilisée ; sinon, la valeur de $default est utilisée. Cette seule ligne de code suffit, réduisant considérablement la complexité du code.
En plus de simplifier les jugements logiques, l'opérateur de coalescence nul peut également être utilisé pour obtenir des valeurs dans un tableau. Par exemple, nous voulons obtenir la valeur correspondant à une clé dans le tableau. Si la clé existe, utilisez sa valeur, sinon utilisez la valeur par défaut. Avant PHP7, nous pouvions écrire du code comme ceci :
$value = isset($array['key']) ? $array['key'] : $default;
Et en utilisant l'opérateur de fusion nul, nous pouvons écrire comme ceci :
$value = $array['key'] ?? $default;
De même, un tel code est plus concis et clair.
null L'opérateur de fusion peut être utilisé dans plusieurs imbrications pour répondre à des exigences complexes de jugement logique et de valeur. Par exemple, nous voulons obtenir la valeur d'attribut d'un objet, mais l'attribut peut ne pas exister et l'objet lui-même peut ne pas exister. Avant PHP7, nous devions peut-être écrire du code comme celui-ci :
$value = (isset($object) && isset($object->attribute)) ? $object->attribute : $default;
Maintenant, nous pouvons le simplifier ainsi :
$value = $object->attribute ?? $default;
Bien sûr, si la logique imbriquée est plus complexe, nous devons toujours utiliser les instructions if-else traditionnelles pour gérer il.
Il convient de noter que l'opérateur de fusion nul détermine uniquement si la variable est nulle, et non si la variable existe ou est vide. Si vous souhaitez simplement déterminer si une variable existe ou est vide, vous devez toujours utiliser la fonction isset() ou empty().
Pour résumer, le nouvel opérateur de coalescence nul dans PHP7 peut grandement simplifier le jugement logique dans le code, rendant le code plus concis et plus facile à lire. Cependant, lors de son utilisation, vous devez faire attention aux scénarios d'utilisation et aux restrictions de l'opérateur pour éviter des erreurs inutiles.
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!