Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Melaksanakan Penghitungan dalam PHP, Mempertimbangkan Versi Sebelum dan Selepas 8.1?
Penghitungan dalam PHP
Dalam PHP, penghitungan belum lagi disokong secara asli. Walau bagaimanapun, terdapat beberapa kaedah yang boleh anda gunakan untuk mentakrifkan dan bekerja dengan penghitungan yang dicontohi.
Sejak PHP 8.1
PHP kini menyokong penghitungan secara asli, yang memberikan kemudahan dan jenis -cara selamat untuk mewakili set nilai yang dipratentukan. Berikut ialah contoh:
enum DaysOfWeek: int { case Sunday = 0; case Monday = 1; // etc. }
PHP 8.0 dan Terdahulu
Untuk versi PHP lebih awal daripada 8.1, terdapat pelbagai pendekatan untuk mensimulasikan penghitungan:
Pemalar dengan Ruang Nama
Ini melibatkan penentuan pemalar dalam ruang nama mereka sendiri untuk mengelakkan perlanggaran:
abstract class DaysOfWeek { const Sunday = 0; const Monday = 1; // etc. }
Walau bagaimanapun, pendekatan ini boleh membawa kepada kekusutan ruang nama dan isu skop global.
Kelas Enum Tersuai
Kelas enum tersuai boleh memberikan lebih fleksibiliti dan pengesahan keupayaan:
abstract class BasicEnum { // Caching array for constants private static $constCacheArray = NULL; // Get constants using reflection private static function getConstants() { ... } // Validate constant names and values public static function isValidName() { ... } public static function isValidValue() { ... } } class DaysOfWeek extends BasicEnum { ... }
Kelas enum ini membenarkan pengesahan yang boleh disesuaikan bagi kedua-dua nama dan nilai tetap.
SplEnum
Jika PHP >= 5.3 tersedia, anda juga boleh menggunakan kelas SplEnum daripada Spl sambungan:
class DaysOfWeek extends SplEnum { const Sunday = 0; const Monday = 1; // etc. }
Walau bagaimanapun, SplEnum menggunakan instantiasi, yang mungkin kurang intuitif daripada pendekatan di atas.
Ringkasan
PHP mempunyai beberapa pilihan untuk mencontohi penghitungan. Sokongan asli dalam PHP 8.1 disyorkan untuk kesederhanaan dan keselamatan jenis, manakala kelas enum tersuai memberikan lebih fleksibiliti.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Penghitungan dalam PHP, Mempertimbangkan Versi Sebelum dan Selepas 8.1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!