Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP8.1 ungkapan padanan baharu: memudahkan pelbagai pertimbangan syarat

PHP8.1 ungkapan padanan baharu: memudahkan pelbagai pertimbangan syarat

WBOY
WBOYasal
2023-07-08 13:03:101131semak imbas

PHP ialah bahasa skrip sebelah pelayan yang sangat popular yang sentiasa berkembang dan bertambah baik. Dalam versi terbaharu PHP8.1, ciri baharu yang penting telah ditambah: ungkapan padanan. Ciri baharu ini menjadikan berbilang pertimbangan bersyarat lebih mudah dan mudah dibaca. Artikel ini akan memperkenalkan penggunaan ungkapan padanan dan menunjukkannya melalui beberapa contoh kod.

Dalam PHP, kita selalunya perlu melakukan pelbagai pertimbangan bersyarat pada pembolehubah atau ungkapan yang berbeza. Cara tradisional ialah menggunakan satu siri pernyataan if-else. Ungkapan padanan memberikan kita cara penulisan yang lebih ringkas. Mari lihat contoh mudah:

$value = 5;

$result = match($value) {
    1 => 'One',
    2 => 'Two',
    3, 4 => 'Three or Four',
    default => 'Other'
};

echo $result; // 输出:Other

Dalam kod di atas, kami menggunakan ungkapan padanan untuk menentukan nilai pembolehubah $value. Tanda kurung selepas padanan ialah pembolehubah atau ungkapan yang perlu dinilai. Selepas anak panah, kita boleh menyenaraikan nilai yang perlu dipadankan dan mengikuti keputusan yang sepadan selepas anak panah. Jika tiada nilai dipadankan, kami boleh menggunakan kata kunci lalai untuk menentukan hasil lalai. Dalam contoh ini, nilai $value ialah 5, yang tidak sepadan dengan mana-mana nilai yang ditentukan, jadi hasil akhir ialah 'Lain-lain'. $value的值。match后面的括号中是需要判断的变量或表达式。在箭头后面,我们可以列举需要匹配的值,并在箭头后面跟上相应的结果。如果没有匹配到任何值,我们可以使用default关键字来指定默认的结果。在这个例子中,$value的值为5,没有匹配到任何一个指定的值,因此最终结果为'Other'。

除了单个值的匹配外,我们还可以使用列表来进行匹配。下面是一个示例代码:

$value = 20;

$result = match($value) {
    in_array($value, [1, 2, 3]) => 'One, Two or Three',
    in_array($value, [4, 5, 6]) => 'Four, Five or Six',
    default => 'Other'
};

echo $result; // 输出:Other

在上面的代码中,我们使用了in_array函数来判断$value是否在指定的列表中。如果匹配成功,则返回相应的结果。如果没有匹配成功,则返回默认的结果。

此外,match表达式还支持使用其他表达式或函数进行匹配。我们可以根据具体的需求进行组合和使用。下面是一个更复杂的示例:

$value = 100;

$result = match(true) {
    in_array($value, range(1, 10)) => 'One to Ten',
    $value > 10 && $value < 100 => 'Between Ten and One Hundred',
    is_numeric($value) => 'Numeric Value',
    default => 'Others'
};

echo $result; // 输出:Others

在上面的代码中,我们判断了$value

Selain memadankan nilai tunggal, kami juga boleh menggunakan senarai untuk dipadankan. Berikut ialah contoh kod:

rrreee

Dalam kod di atas, kami menggunakan fungsi in_array untuk menentukan sama ada $value berada dalam senarai yang ditentukan. Jika perlawanan berjaya, keputusan yang sepadan dikembalikan. Jika tiada padanan ditemui, keputusan lalai dikembalikan.

Selain itu, ungkapan padanan juga menyokong penggunaan ungkapan atau fungsi lain untuk pemadanan. Kita boleh menggabungkan dan menggunakannya mengikut keperluan tertentu. Berikut ialah contoh yang lebih kompleks: 🎜rrreee🎜Dalam kod di atas, kami menentukan sama ada nilai $value berada dalam julat 1 hingga 10, sama ada dalam julat 10 hingga 100, dan Sama ada ia adalah nombor. Padankan keputusan mengikut syarat yang berbeza dan kembalikan hasil yang sepadan. 🎜🎜Melalui contoh di atas, kita dapat melihat bahawa kod ungkapan padanan adalah lebih ringkas dan lebih mudah dibaca daripada pernyataan if-else tradisional. Ia boleh mengendalikan berbilang keadaan serentak dan menyokong padanan menggunakan pelbagai ekspresi dan fungsi. Untuk pelbagai pertimbangan bersyarat, ungkapan padanan boleh menyediakan kaedah pengaturcaraan yang lebih elegan dan cekap. 🎜🎜Ringkasnya, ungkapan padanan baharu dalam PHP8.1 menjadikan berbilang pertimbangan bersyarat lebih mudah dan lebih mudah dibaca. Dengan menggunakan ungkapan padanan, kami boleh mengubah pertimbangan logik yang kompleks kepada kod ringkas, meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Bagi pembangun PHP, menguasai penggunaan ungkapan padanan akan meningkatkan kecekapan pembangunan dan menjadikan kod lebih ringkas dan elegan. 🎜

Atas ialah kandungan terperinci PHP8.1 ungkapan padanan baharu: memudahkan pelbagai pertimbangan syarat. 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