"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > O que é o operador Elvis em PHP e como funciona?

O que é o operador Elvis em PHP e como funciona?

Publicado em 19/11/2024
Navegar:807

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

Domando o Operador Elvis (?:) em PHP

O misterioso operador ?: enfeitou algum código PHP, deixando você confuso. Este artigo conciso investiga sua natureza enigmática, desvendando seu verdadeiro propósito.

Desvendando o ?: Operador

O operador ?:, também conhecido como "operador Elvis, "funções semelhantes a um operador ternário. Contudo, sua característica única reside na ausência de uma expressão para avaliar se o predicado é verdadeiro. Aqui está um detalhamento de seu comportamento:

Ele avalia para o operando esquerdo se o operando esquerdo for verdadeiro, ou seja, não nulo, string vazia, falso ou zero.
Se o o operando esquerdo é falsy, ele é avaliado como operando direito.
Crucialmente, a expressão para o o operando esquerdo é avaliado apenas uma vez, garantindo a eficiência.

Exemplos ilustrativos

Para esclarecer melhor, considere o seguinte trecho de código:

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

Neste caso, se $items é verdadeiro (não nulo ou não vazio), o valor de $items é atribuído a si mesmo. No entanto, se $items for falso, o resultado de $this->_handle->result('next', $this->_result, $this) é atribuído a $items. Isso lida efetivamente com valores indefinidos, fornecendo um valor padrão.

Aplicativos adicionais

O operador ?: também é útil em cenários de autoverificação:

foo = foo ?: bar;

Aqui, foo receberá o valor de bar se foo for nulo ou falso. Caso contrário, foo permanece inalterado.

Mostra de Versatilidade

Para ilustrar sua versatilidade, considere estes exemplos:

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'

A Origem do "Operador Elvis"

Seu apelido peculiar, "Operador Elvis", deriva de sua semelhança com o cabelo de Elvis Presley. Assim como as fechaduras de Elvis eram estilizadas com um topete espesso ou penteadas para trás, o operando esquerdo do operador é verdadeiro ou falso, determinando o valor resultante.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3