Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Contoh ciri baharu dalam PHP8: Bagaimana untuk menggunakan ungkapan padanan dan kod untuk memudahkan penghakiman bersyarat?

Contoh ciri baharu dalam PHP8: Bagaimana untuk menggunakan ungkapan padanan dan kod untuk memudahkan penghakiman bersyarat?

王林
王林asal
2023-09-12 16:19:461021semak imbas

Contoh ciri baharu dalam PHP8: Bagaimana untuk menggunakan ungkapan padanan dan kod untuk memudahkan penghakiman bersyarat?

PHP8 ialah versi penting bahasa pengaturcaraan PHP yang memperkenalkan banyak ciri dan penambahbaikan baharu. Salah satu ciri baharu ialah ungkapan padanan, yang boleh membantu pembangun memudahkan kod penghakiman bersyarat. Dalam artikel ini, kami akan memperkenalkan cara menggunakan ungkapan padanan untuk memudahkan proses pertimbangan bersyarat dan memberikan beberapa contoh praktikal.

Dalam PHP7 dan versi sebelumnya, kami sering menggunakan pernyataan suis atau satu siri pernyataan if-else untuk membuat pertimbangan bersyarat. Pernyataan ini boleh mencapai fungsi yang sama, tetapi akan menyebabkan pertindihan kod dan kebolehbacaan yang lemah. Pengenalan ungkapan padanan adalah tepat untuk menyelesaikan masalah ini.

Sintaks ungkapan padanan sangat serupa dengan pernyataan suis Ia boleh melaksanakan blok kod yang sepadan berdasarkan nilai ungkapan. Perbezaannya ialah ungkapan padanan ialah ungkapan dan bukannya pernyataan, dan ia boleh mengembalikan nilai. Ini membolehkan kami menetapkannya terus kepada pembolehubah atau sebagai nilai pulangan fungsi.

Berikut ialah contoh mudah yang menunjukkan cara menggunakan ungkapan padanan untuk menentukan julat yang dimiliki oleh nombor dan mengembalikan jenis berangka yang sepadan.

function getType(int $number) {
    return match (true) {
        $number < 0 => 'negative',
        $number == 0 => 'zero',
        $number > 0 => 'positive',
    };
}

echo getType(-5);  // 输出: negative
echo getType(0);   // 输出: zero
echo getType(10);  // 输出: positive

Dalam contoh di atas, kami menentukan fungsi yang dipanggil getType yang menerima integer sebagai parameter. Dalam ungkapan padanan, kami menggunakan benar sebagai syarat kerana kami mahu melaksanakan berbilang pertimbangan bersyarat dan bukannya satu penghakiman. Kami kemudian mengaitkan setiap syarat dengan jenis angka yang sepadan menggunakan pengendali anak panah =>.

Dalam penggunaan sebenar, kami boleh menambah lebih banyak syarat dan melakukan operasi yang berbeza mengikut keperluan. Ungkapan padanan akan dinilai dalam urutan mengikut syarat sehingga keadaan sepadan ditemui atau keadaan lalai dicapai.

function getPrice(string $productType) {
    return match ($productType) {
        'book' => 20,
        'clothes' => 50,
        'electronics' => 100,
        default => 0,
    };
}

echo getPrice('book');          // 输出: 20
echo getPrice('clothes');       // 输出: 50
echo getPrice('electronics');   // 输出: 100
echo getPrice('unknown');       // 输出: 0

Dalam contoh di atas, kami menentukan fungsi yang dipanggil getPrice, yang menerima parameter rentetan yang mewakili jenis produk. Bergantung pada jenis produk, kami mengembalikan harga yang sepadan. Jika jenis produk tidak sepadan dengan mana-mana kriteria, nilai lalai 0 dikembalikan.

Selain penggunaan asas dalam contoh di atas, ungkapan padanan juga menyediakan fungsi lain, seperti menggunakan operator logik untuk menggabungkan keadaan, menggunakan fungsi tanpa nama, dsb. Ciri-ciri ini boleh meningkatkan lagi fleksibiliti dan kebolehbacaan kod kami.

Ringkasnya, ungkapan padanan ciri baharu PHP8 memberi kami cara untuk memudahkan pertimbangan bersyarat, menjadikan kod kami lebih ringkas dan boleh dibaca. Dengan menggunakan ungkapan padanan, kita boleh mengelakkan kenyataan if-else yang menyusahkan dan kod berulang, meningkatkan kecekapan pembangunan dan kualiti kod. Saya harap contoh dalam artikel ini dapat membantu anda memahami dan menggunakan ungkapan padanan dengan lebih baik.

Atas ialah kandungan terperinci Contoh ciri baharu dalam PHP8: Bagaimana untuk menggunakan ungkapan padanan dan kod untuk memudahkan penghakiman bersyarat?. 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