我想知道如何使用与eval函数完全相反的方法。
这是我的代码:
// ./baz.js
import { notFoo } from './foo'
我必须从上面的代码中输出$test = 1;
$t = '$test';
echo opposite_eval($t);
,我该如何使用方法,函数或类?
感谢您对朋友的帮助!
答案 0 :(得分:1)
我通过从$ t字符串中删除$来欺骗了一点(你可以在函数中做到这只是一个字符串:
$t = 'test';
function opposite_eval($t){
$test = 1;
return($$t);
}
echo opposite_eval($t); //=1
您要查看的阶段是variable variables
答案 1 :(得分:0)
我想你想要一个variables variable
在你的情况下,它将是:
$test = 1;
$t = 'test';
echo $$t;
// output: 1
附加组件:
你也可以这样做:
$test['x'] = 1;
$t = 'test';
echo $$t['x'];
此
$test['x'] = 1;
$t = "test['x']";
echo $$t;
// Produces: NOTICE Undefined variable: test['x'] on line number 6
也不会:
$test = new stdClass();
$test->x = 1;
$t = "test->x";
echo $$t;
但这会奏效:
$test = new stdClass();
$test->x = 1;
$t = "{$test->x}";
echo $t;
这也有效:
$test =[];
$test['x'] = 1;
$t = "{$test['x']}";
echo $t;