Maison >développement back-end >tutoriel php >Quand et comment utiliser l'opérateur Elvis (?:) en PHP ?

Quand et comment utiliser l'opérateur Elvis (?:) en PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-11 11:45:03876parcourir

When and How to Use the Elvis Operator (?:) in PHP?

L'opérateur Elvis (?:) en PHP

En PHP, l'opérateur ?: est connu sous le nom d'opérateur Elvis, une expression conditionnelle qui simplifie le cas d'utilisation courant consistant à attribuer une valeur par défaut à une variable si la valeur d'origine est nulle ou fausse.

Utiliser le Opérateur Elvis

L'opérateur Elvis évalue l'opérande de gauche si l'opérande de gauche est véridique (ni nul, ni faux, ni une chaîne vide). Sinon, il est évalué à l'opérande de droite.

Syntaxe

variable = expression_to_test ?: default_value;

Exemples

  • Attribuez 'foo' à la variable 'bar' si elle est nulle ou falsey :

    $bar = $foo ?: 'foo';
  • Dans l'exemple que vous avez fourni :

    $items = $items ?: $this->_handle->result('next', $this->_result, $this);

    Cela attribue le résultat de $this->_handle->result('next ', $this->_result, $this) en $items si $items est nul ou falsey.

Avantages de l'opérateur Elvis

  • Optimisation du code : Il élimine le besoin de ternaire imbriqué opérateurs ou instructions if-else.
  • Amélioré lisibilité : Cela rend le code plus concis et plus facile à comprendre.

Opérateur Elvis vs. Opérateur ternaire

Alors que l'opérateur Elvis et l'opérateur ternaire ( ?: :) les deux évaluent les expressions en fonction de conditions, il existe des différences clés :

  • L'opérateur Elvis évalue uniquement l'opérande de gauche si la condition est vraie.
  • L'opérateur ternaire évalue à la fois les expressions vraies et fausses quelle que soit la condition.

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