我在弄清楚这一点时遇到了一些麻烦,基本上我有一个动态创建的字符串并通过几个函数传递,我想在字符串的前面添加一个“$”以使其成为变量然后对其进行评估与 isset() 一样...
我错过了一个明显的方法吗?
我在弄清楚这一点时遇到了一些麻烦,基本上我有一个动态创建的字符串并通过几个函数传递,我想在字符串的前面添加一个“$”以使其成为变量然后对其进行评估与 isset() 一样...
我错过了一个明显的方法吗?
除了$$
变量变量构造,请注意,您还可以使用括号语法(虽然它非常难看)来使用字符串创建变量:
${'myVar'} = 42;
echo $myVar; // 42
echo "${myVar}"; // 42
$val = 'myVar';
${$val} = 'the answer';
echo $myVar; // the answer (not 42)
您正在寻找变量变量:
$string = 'b';
$b = 'Test';
if(isset($$string)) {
// do stuff
}
请注意,这通常是不受欢迎的做法,因为在更大的代码库中,您稍后会因为试图弄清楚来自哪里$b
而感到头疼
将addslash函数放在“$”符号之前,因为它作为变量。通过使用addslash 函数,它可以作为特殊字符。