Qu'est-ce que l'opérateur Elvis en PHP et comment ça marche ?

Linda Hamilton
Libérer: 2024-11-24 05:39:18
original
548 Les gens l'ont consulté

What is the Elvis operator in PHP and how does it work?

Apprivoiser l'opérateur Elvis (?:) en PHP

Le mystérieux opérateur ?: a honoré du code PHP, vous laissant perplexe. Cet article concis explore sa nature énigmatique et dévoile son véritable objectif.

Dévoilement de l'opérateur ?:

L'opérateur ?:, également connu sous le nom d'« opérateur Elvis », " fonctionne comme un opérateur ternaire. Cependant, sa caractéristique unique réside dans l’absence d’expression permettant d’évaluer si le prédicat s’avère vrai. Voici un aperçu de son comportement :

Il évalue l'opérande de gauche si l'opérande de gauche est véridique, c'est-à-dire non nul, chaîne vide, faux ou zéro.
Si le l'opérande de gauche est faux, il est évalué à droite opérande.
Il est essentiel que l'expression de l'opérande de gauche ne soit évaluée qu'une seule fois, garantissant l'efficacité.

Exemples illustratifs

Pour clarifier davantage, considérons l' extrait de code suivant :

$items = $items ?: $this->_handle->result('next', $this->_result, $this);
Copier après la connexion

Dans ce cas, si $items est véridique (non nul ou non vide), la valeur de $items s'attribue à elle-même. Cependant, si $items est faux, le résultat de $this->_handle->result('next', $this->_result, $this) est affecté à $items. Cela gère efficacement les valeurs non définies en fournissant une valeur par défaut.

Applications supplémentaires

L'opérateur ?: s'avère également utile dans les scénarios d'auto-vérification :

foo = foo ?: bar;
Copier après la connexion

Ici, foo se verra attribuer la valeur de bar si foo est nul ou faux. Sinon, foo reste inchangé.

Vitrine de la polyvalence

Pour illustrer sa polyvalence, considérons ces exemples :

var_dump(5 ?: 0); // 5
var_dump(false ?: 0); // 0
var_dump(null ?: 'foo'); // 'foo'
var_dump(true ?: 123); // true
var_dump('rock' ?: 'roll'); // 'rock'
var_dump('' ?: 'roll'); // 'roll'
var_dump('0' ?: 'roll'); // '0'
var_dump('42' ?: 'roll'); // '42'
Copier après la connexion

L'origine de "Elvis Operator"

Son surnom particulier, "Elvis Operator", vient de son ressemblance avec les cheveux d'Elvis Presley. Tout comme les mèches d'Elvis étaient soit coiffées d'un pompadour touffu, soit lissées vers l'arrière, l'opérande gauche de l'opérateur est soit véridique, soit faux, déterminant la valeur résultante.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal