一些代码用于eval()
执行存储在数组中的代码,如下所示:
// $oOwner is an object
$strId = "abc";
$strClass = "someClass";
$aParams = array('a' => 'atext', 'b' => 'btext');
$this->menu = array(
"Entry 1" => ' openForm(\$oOwner,\$strId,\$strClass,\$aParams); ',
// ...
);
数组键的值将直接提供给eval()
函数。
现在我得到一个错误:Parse error: syntax error, unexpected T_VARIABLE, expecting T_STRING ... eval()'d code on line 1
问题是什么?
编辑:
循环遍历数组和eval()
值:
eval( $this->menu[$param[0]] );
编辑2:
现在:"Entry 1" => " openForm(\$this->owner,\$strId,\$strClass,\$aParams); "
使用双引号"..."
导致PHP Notice: Undefined variable: strId in ... : eval()'d code on line 1
. 也适用于其他变量。
`