Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ungkapan padanan dalam PHP8 menjadikan kod anda mudah dan berkuasa

Ungkapan padanan dalam PHP8 menjadikan kod anda mudah dan berkuasa

WBOY
WBOYasal
2023-06-21 10:43:422563semak imbas

Baru-baru ini, PHP8 telah dikeluarkan secara rasmi, dan ungkapan padanan yang ditambahkan dalam versi baharu telah menjadi topik hangat di kalangan pembangun. Pernyataan padanan boleh menjadikan kod PHP kami lebih ringkas dan berkuasa Artikel ini akan memperkenalkan anda kepada penggunaan dan kelebihan ungkapan padanan.

1. Apakah ungkapan padanan?

Ungkapan padanan ialah struktur bahasa baharu dalam PHP8, serupa dengan pernyataan suis. Fungsi utamanya adalah untuk memilih keadaan yang sepadan daripada pelbagai situasi yang mungkin.

Bentuk pernyataan padanan adalah seperti berikut:

match ($x) {
    value1 => statement1,
    value2 => statement2,
    value3 => statement3,
    ...
    default => default_statement
}

Antaranya, $x ialah nilai ungkapan, nilai1, nilai2, nilai3, dll. adalah nilai padanan yang mungkin, manakala pernyataan1 , pernyataan2, pernyataan3, dsb. sepadan dengan Pernyataan dilaksanakan untuk setiap kes yang sepadan.

Tidak seperti pernyataan suis, pernyataan padanan tidak perlu menulis pemisah dalam setiap kes, dan nilai padanan boleh berupa sebarang ungkapan atau pembolehubah.

2. Kelebihan ungkapan padanan

1. Lebih ekspresif

Sebelum PHP8, kami biasanya menggunakan pernyataan if-else untuk membuat pertimbangan bersyarat. Tetapi sejumlah besar kod berlebihan bersarang dan kompleks menjadikan kod itu semakin sukar untuk difahami. Pernyataan padanan boleh meningkatkan kebolehbacaan dan kebolehselenggaraan kod dengan ketara.

2. Lebih selamat

Ungkapan padanan menggunakan operator perbandingan AND (===) yang ketat, yang bermaksud ia lebih selamat. Kerana ia tidak melibatkan penukaran jenis yang lemah, ia mengelakkan beberapa ralat tersirat.

3. Lebih cekap

Dalam PHP8, pelaksanaan asas pernyataan padanan ialah pembinaan dan carian jadual cincang. Berbanding dengan pernyataan if-else, padanan dilaksanakan dengan lebih pantas dan oleh itu meningkatkan prestasi PHP.

3. Senario aplikasi ungkapan padanan

Jadi, dalam senario apakah ungkapan padanan harus digunakan? Berikut ialah beberapa contoh untuk membantu anda memahami dengan lebih baik.

1. Tapis tatasusunan

Gunakan pernyataan padanan untuk menapis elemen dalam tatasusunan dengan mudah, seperti mengekalkan elemen tertentu sahaja. Kodnya adalah seperti berikut:

$filtered = array_filter($array, fn($value) => match ($value) {
    'apple', 'orange' => true,
    default => false,
});

2 syarat padanan berbilang

ungkapan padanan boleh mengendalikan berbilang keadaan padanan dengan mudah, seperti memilih nombor genap pertama antara 1, 2, 4 dan 6 . Kodnya adalah seperti berikut:

$even = match (true) {
    ($value % 2 == 0 && $value > 0) => $value,
    ($value % 2 == 0 && $value < 0) => -$value,
    ($value % 2 == 1 && $value > 0) => $value + 1,
    ($value % 2 == -1 && $value < 0) => -$value - 1,
    default => 0,
};

3 Penyetempatan bahasa

ungkapan padanan boleh digunakan dalam penyetempatan bahasa, seperti mengembalikan versi bahasa yang sepadan mengikut tempat pengguna. Kodnya adalah seperti berikut:

$localized = match ($locale) {
    'en_US', 'en_GB' => 'Hello',
    'fr_FR', 'fr_CA' => 'Bonjour',
    'zh_CN', 'zh_TW' => '你好',
    default => 'Hello',
};

4. Ringkasan

Penambahan ungkapan padanan dalam PHP8 boleh membantu kami menulis kod yang ringkas dan berkuasa, meningkatkan kebolehbacaan dan kebolehselenggaraan jantina. Selain itu, ungkapan padanan adalah lebih selamat dan lebih cekap daripada pernyataan if-else.

Dalam pembangunan sebenar, kami boleh menggunakan ekspresi padanan secara fleksibel mengikut senario aplikasi yang berbeza untuk memudahkan kod dan meningkatkan kecekapan.

Atas ialah kandungan terperinci Ungkapan padanan dalam PHP8 menjadikan kod anda mudah dan berkuasa. 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