Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mendapatkan Nama Pembolehubah sebagai Rentetan dalam PHP?

Bagaimanakah Saya Boleh Mendapatkan Nama Pembolehubah sebagai Rentetan dalam PHP?

Barbara Streisand
Lepaskan: 2024-12-21 05:35:09
asal
603 orang telah melayarinya

How Can I Get a Variable's Name as a String in PHP?

Mendapatkan Nama Pembolehubah sebagai Rentetan dalam PHP

Dalam PHP, mendapatkan semula nama pembolehubah sebagai rentetan boleh menjadi tugas yang pelik. Pertimbangkan kod berikut:

$FooBar = "a string";
Salin selepas log masuk

Untuk mengekstrak nama pembolehubah, kita biasanya boleh menggunakan fungsi seperti ini:

print_var_name($FooBar);
Salin selepas log masuk

Menjangkakan fungsi untuk mengeluarkan "FooBar", kita menghadapi dilema: PHP secara asalnya tidak mempunyai kaedah yang mudah untuk mengakses nama pembolehubah sebagai rentetan.

Walau bagaimanapun, a penyelesaian memang wujud. Walaupun ia mungkin bukan penyelesaian yang paling cekap, ia menyediakan cara untuk mendapatkan semula nama pembolehubah di bawah syarat khusus tertentu:

<?php

function varName($v) {
    $trace = debug_backtrace();
    $vLine = file(__FILE__);
    $fLine = $vLine[$trace[0]['line'] - 1];
    preg_match("#\$(\w+)#", $fLine, $match);
    print_r($match);
}

$foo = "knight";
$bar = array(1, 2, 3);
$baz = 12345;

varName($foo);
varName($bar);
varName($baz);

?>
Salin selepas log masuk

Fungsi ini, varName(), beroperasi dengan menghuraikan baris yang memanggilnya, mencari hujah diluluskan ke dalam panggilan fungsi. Walaupun ia boleh disesuaikan untuk mengendalikan berbilang hujah, adalah penting untuk ambil perhatian bahawa penyelesaian ini mempunyai hadnya. Untuk senario yang lebih kompleks, penyelesaian alternatif mungkin terbukti lebih sesuai. Namun begitu, ia menawarkan kaedah untuk mendapatkan semula nama pembolehubah dalam PHP untuk kes penggunaan terhad.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Nama Pembolehubah sebagai Rentetan dalam PHP?. 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