Bolehkah saya Mengakses Nilai Malar Kelas Secara Dinamik Menggunakan Pembolehubah?

Barbara Streisand
Lepaskan: 2024-11-04 03:17:02
asal
873 orang telah melayarinya

Can I Access Class Constant Values Dynamically Using a Variable?

Mendapatkan Nilai Malar Kelas Secara Dinamik

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!