Operador Elvis (?:) Desentrañado en PHP
En las profundidades de un código base PHP complejo, puedes encontrarte con un operador misterioso: el ?: operador. Apodado el "operador de Elvis", es posible que usted se pregunte: "¿Cuál es su propósito?" operando correcto en caso contrario. En otras palabras:
foo ?: bar
foo ?: bar
foo ? foo : bar
foo ? foo : bar
if (foo) { foo = foo; } demás { foo = barra; }
if (foo) { foo = foo; } else { foo = bar; }Ejemplo de uso
Uno común El caso de uso es para autoverificación, como se ve en el fragmento de código:
$items = $items ?: $this->_handle->result('next', $this->_result, $this);
$items = $items ?: $this->_handle->result('next', $this->_result, $this);Ejemplos adicionales
Aquí hay algunos más ejemplos para iluminar el comportamiento:
var_dump(5 ?: 0); // 5 var_dump(falso?: 0); // 0 var_dump(nulo?: 'foo'); // 'foo' var_dump(¿verdadero?: 123); // verdadero var_dump('roca'?: 'rodar'); // 'roca' var_dump('' ?: 'rollo'); // 'rollo' var_dump('0' ?: 'rollo'); // 'rollo' var_dump('42' ?: 'rollo'); // '42'
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'); // 'roll' var_dump('42' ?: 'roll'); // '42'
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3