PHP评估(array_as_string)返回null


$arr = eval("array('foo'=>'bar');");
// returns null
var_dump($arr);

有人可以解释一下为什么我得无效而不是数组?

您需要return数组。

来自文档:

eval()返回NULL,除非在评估的代码中调用return,否则将传递给return的值返回。

所以您需要做:

$arr = eval("return array('foo'=>'bar');");

您的意思是

eval("$arr = array('foo'=>'bar');"); 
var_dump($arr);

eval函数执行给出的PHP代码。当您的代码什么都没有返回时,它会产生零。您需要返回数组并将其存储在一个变量中,例如

$arr = eval("return array('foo'=>'bar');");

首先,eval高度灰心,如手册中所述。

另外,您应该做类似$arr = eval("return array('foo'=>'bar');"); IE的事情。使用est函数初始化$arr。在此处看到它

最新更新