Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengendalikan berbilang keadaan dengan lebih ringkas melalui ungkapan Padanan PHP8?

Bagaimana untuk mengendalikan berbilang keadaan dengan lebih ringkas melalui ungkapan Padanan PHP8?

WBOY
WBOYasal
2023-10-21 08:52:55575semak imbas

Bagaimana untuk mengendalikan berbilang keadaan dengan lebih ringkas melalui ungkapan Padanan PHP8?

Bagaimana untuk mengendalikan berbilang keadaan dengan lebih ringkas melalui ungkapan Padanan PHP8?

PHP8 memperkenalkan ungkapan baharu - Ungkapan padan, yang lebih ringkas dan intuitif daripada pernyataan if-elseif-else sebelumnya apabila mengendalikan berbilang keadaan. Ungkapan padanan menggunakan struktur sintaks baharu yang memudahkan untuk memadankan dan memproses nilai.

Sintaks asas ungkapan Padanan adalah seperti berikut:

$result = match ($value) {
    $condition1 => $result1,
    $condition2 => $result2,
    ...
    $conditionN => $resultN,
    default => $defaultResult,
};

Dengan sintaks ini, kami boleh memproses berbilang syarat dalam satu baris kod dan mengembalikan hasil yang berbeza berdasarkan keadaan yang berbeza. Di bawah ini kami menggunakan beberapa contoh khusus untuk menggambarkan cara menggunakan ungkapan Padanan untuk mengendalikan berbilang keadaan secara ringkas.

Contoh 1: Kembalikan mesej alu-aluan yang sepadan berdasarkan identiti log masuk pengguna

$userType = getUserType();

$welcomeMessage = match ($userType) {
    'admin' => '欢迎管理员!',
    'user' => '欢迎普通用户!',
    'guest' => '欢迎游客!',
    default => '欢迎访问!',
};

echo $welcomeMessage;

Dalam contoh ini, kami menggunakan ungkapan Padanan untuk mengembalikan mesej alu-aluan yang sepadan berdasarkan log masuk pengguna identiti . Bergantung pada nilai $userType, ungkapan Padanan akan mengembalikan hasil yang berbeza.

Contoh 2: Kira harga diskaun pesanan berdasarkan jenis produk

$productType = getProductType();

$discountPrice = match ($productType) {
    '电子产品' => $orderPrice * 0.8,
    '服装鞋包' => $orderPrice * 0.9,
    '食品饮料' => $orderPrice * 0.95,
    default => $orderPrice,
};

echo '折扣后的价格为:' . $discountPrice;

Dalam contoh ini, kami menggunakan ungkapan Padanan untuk mengira harga diskaun pesanan berdasarkan jenis produk. Mengikut nilai $productType yang berbeza, ungkapan Padanan akan mengembalikan harga diskaun yang sepadan.

Contoh 3: Memproses kod status permintaan HTTP

$httpStatusCode = getHttpStatusCode();

$message = match ($httpStatusCode) {
    200 => '请求成功',
    301 => '永久重定向',
    404 => '页面不存在',
    500 => '服务器错误',
    default => '未知状态',
};

echo '状态码' . $httpStatusCode . ':' . $message;

Dalam contoh ini, kami menggunakan ungkapan Padanan untuk mengembalikan maklumat yang sepadan berdasarkan kod status HTTP permintaan. Mengikut nilai $httpStatusCode yang berbeza, ungkapan Padanan akan mengembalikan mesej yang berbeza.

Seperti yang anda lihat daripada contoh di atas, menggunakan ungkapan Padanan boleh mengendalikan berbilang syarat dengan ringkas dan mengembalikan hasil yang sepadan mengikut keadaan yang berbeza. Ia menghapuskan banyak pernyataan if-elseif-else, menjadikan kod lebih jelas dan lebih mudah dibaca.

Walaupun ungkapan Padanan mempunyai kelebihan tertentu apabila memproses berbilang syarat, perlu diambil perhatian bahawa syarat yang dipadankan dengan ungkapan Padanan mestilah nilai dan bukannya ungkapan. Selain itu, cawangan lalai ungkapan Padanan adalah pilihan dan akan mengembalikan batal jika tiada syarat dipadankan.

Ringkasnya, melalui ungkapan Padanan PHP8, kami boleh mengendalikan berbilang syarat dengan lebih ringkas, menjadikan kod lebih ringkas dan boleh dibaca. Ia adalah pilihan yang baik untuk pembangun PHP apabila berurusan dengan berbilang kenyataan bersyarat.

Atas ialah kandungan terperinci Bagaimana untuk mengendalikan berbilang keadaan dengan lebih ringkas melalui ungkapan Padanan PHP8?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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