微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用PHP中的Eval()动态创建函数

我正在尝试使用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 举报,一经查实,本站将立刻删除。

相关推荐