Apakah Operator Elvis (?:) dan Bagaimana Ia Berfungsi dalam PHP?

Linda Hamilton
Lepaskan: 2024-11-13 16:13:02
asal
351 orang telah melayarinya

What is the Elvis Operator (?:) and How Does it Work in PHP?

Elvis Operator (?:) Terbongkar dalam PHP

Dalam kedalaman pangkalan kod PHP yang kompleks, anda mungkin menemui operator misteri: ?: pengendali. Digelar sebagai "pengendali Elvis," mungkin anda tertanya-tanya, "Apakah tujuannya?"

Pengendali ?:, pada dasarnya, menilai ke operan kirinya jika operan kiri dianggap "benar", dan operan kanan sebaliknya. Dalam erti kata lain:

foo ?: bar
Salin selepas log masuk

kira-kira bersamaan dengan pengendali ternary:

foo ? foo : bar
Salin selepas log masuk

atau dalam pernyataan if-else tradisional:

if (foo) {
    foo = foo;
} else {
    foo = bar;
}
Salin selepas log masuk

Walau bagaimanapun, tidak seperti pengendali ternary, operator ?: menilai operan kiri sekali sahaja, meningkatkan kecekapan.

Contoh Penggunaan

Satu kes penggunaan biasa adalah untuk semakan sendiri, seperti yang dilihat dalam coretan kod:

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

Di sini, ia memberikan hasil $this->_handle->result() kepada $items jika $items ialah null atau falsey, sambil membiarkan $item tidak berubah sebaliknya.

Contoh Tambahan

Berikut ialah beberapa lagi contoh untuk menyerlahkan tingkah laku:

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'
Salin selepas log masuk

Sekiranya anda menghadapi ?: pengendali pada masa hadapan, ingat bahawa matlamatnya adalah untuk menyediakan cara ringkas untuk menilai dan menetapkan berdasarkan kebenaran, menjadikan kod anda lebih cekap dan boleh dibaca.

Atas ialah kandungan terperinci Apakah Operator Elvis (?:) dan Bagaimana Ia Berfungsi dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan