$arr = eval("array('foo'=>'bar');");
// returns null
var_dump($arr);
有人可以解释为什么我得到 null 而不是数组吗?
你需要return
数组。
从文档:
eval()
返回NULL
除非return
在评估代码中调用,在这种情况下return
返回传递给的值。
所以你需要这样做:
$arr = eval("return array('foo'=>'bar');");
你的意思是
eval("\$arr = array('foo'=>'bar');");
var_dump($arr);
eval 函数执行给它的 php 代码。由于您的代码不返回任何内容,因此它给出了 null。您需要返回数组并将其存储在一个变量中,例如,
$arr = eval("return array('foo'=>'bar');");