我正在尝试使用eval()动态创建函数.但是我得到了这个警告:注意:使用未定义的常量任何建议?
$funcs = array('func_a', 'func_b', 'func_c');
foreach($funcs as $func_name) {
eval( 'function ' . $func_name . '() {
mainfunc(' . $func_name . ');
}'
);
}
func_a();
func_b();
func_c();
function mainfunc($func_name) {
echo $func_name . '<br />';
}
假设数组$func是存储在数据库中的选项值,我需要在脚本的单独部分中使用回调函数的函数名称.因此,使用create_function()创建匿名函数并不是我想要的.
感谢您的信息.
解决方法:
您的评估机构需要阅读:
mainfunc(\'' . $func_name . '\');
如果没有单引号,eval()会生成具有不带引号的文字的代码 – 未定义的常量.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。