Apakah ?: Operator dalam PHP 5.3?

DDD
Lepaskan: 2024-10-19 12:52:02
asal
485 orang telah melayarinya

What's the ?: Operator in PHP 5.3?

Operator ?: dalam PHP 5.3

PHP 5.3 memperkenalkan operator ?:, bentuk pekat pengendali bersyarat yang tersedia sebelum ini . Pada asalnya, pengendali bersyarat mengambil bentuk:

expr ? val_if_true : val_if_false
Salin selepas log masuk

Dalam PHP 5.3, anda boleh meninggalkan bahagian tengah, yang membawa kepada sintaks ?:. Ini bersamaan dengan:

expr ? expr : val_if_false
Salin selepas log masuk

Sebagai contoh, kod berikut menyemak sama ada pembolehubah $c boleh dipanggil. Jika tidak, ia memberikan pengecualian:

require __DIR__.'/c.php';
if (!is_callable($c = @$_GET['c'] ?: function() { echo 'Woah!'; }))
    throw new Exception('Error');
$c();
Salin selepas log masuk

Fungsi Tanpa Nama dalam PHP 5.3

Bersama-sama dengan pengendali ?:, PHP 5.3 turut memperkenalkan fungsi tanpa nama . Bertentangan dengan soalan itu, fungsi tanpa nama telah lama tidak wujud. Ia adalah ciri baharu dalam PHP 5.3. Fungsi tanpa nama dicipta tanpa nama dan biasanya digunakan sebagai panggilan balik atau sebagai argumen kepada fungsi lain.

Dalam contoh di atas, fungsi tanpa nama diberikan kepada pembolehubah $c. Ia tidak mempunyai parameter dan mencetak "Woah!" apabila dipanggil. Fungsi tanpa nama ini digunakan sebagai nilai lalai untuk pembolehubah $c, yang menyemak sama ada fungsi itu boleh dipanggil sebelum cuba melaksanakannya.

Atas ialah kandungan terperinci Apakah ?: Operator dalam PHP 5.3?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan