Rumah > Artikel > pembangunan bahagian belakang > Bolehkah saya Mengakses Nilai Malar Kelas Secara Dinamik Menggunakan Pembolehubah?
Soalan:
Adakah mungkin untuk mengakses nilai pemalar kelas secara dinamik menggunakan pembolehubah yang mengandungi nama pemalar?
Jawapan:
Ya, terdapat dua kaedah untuk mencapai ini: menggunakan fungsi malar atau pantulan.
Kaedah 1: Fungsi Malar
Fungsi malar boleh digunakan untuk mendapatkan semula nilai kedua-dua pemalar takrif pengguna yang diisytiharkan dengan pemalar takrif dan kelas:
<code class="php">class A { const MY_CONST = 'myval'; static function test() { $c = 'MY_CONST'; return constant('self::'. $c); } } echo A::test(); // outputs "myval"</code>
Kaedah 2: Kelas Refleksi
Pendekatan yang lebih komprehensif ialah menggunakan refleksi:
<code class="php">$ref = new ReflectionClass('A'); $constName = 'MY_CONST'; echo $ref->getConstant($constName); // outputs "myval"</code>
Atas ialah kandungan terperinci Bolehkah saya Mengakses Nilai Malar Kelas Secara Dinamik Menggunakan Pembolehubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!