PHP的 - 理解create_function() - 通过简单的变量(Php - underst

2019-09-02 01:46发布

我第一次尝试使用动态create_function ,并且到现在为止,没有太大的成功:-)

我的功能是这样的:

 function o99_brsa_custom_widgets() {
        global $wp_meta_boxes;
        global $o99_brsa_options;

        for($i=0; $i> count($o99_brsa_options[content]); $i++) {

            $widgt_id = 'o99_dashboard_widget_dyn' . $i;
            $widgt_name = 'obmek99 widget name' . $i;
            $out = $o99_brsa_options[content][$i];
            $f = create_function(' $out ',' global $out; echo $out;');
            do_the_widgets($widgt_id, $widgt_name, $f);
         }
    } 

所述do_the_widgets()动作是只接受一个直接回波并打印插件的内容。

$o99_brsa_options[content]是具有验证阵列$i元件(每个是内容)。

奇怪的是, $i正着手于$widgt_id$widgt_name但对create_function()我得到的所有部件打印相同的值。 ( echo $out

看来,我不知道如何来一个简单的变量传递给新的功能(我使用全球内create_function(),但它可以帮助少现在。

那么,什么是我的错误/误解/滥用现在:-)?

Answer 1:

create_function是在stone age ,当kaᵠ使用笔和纸来编写应用程序 ,当PeeHaa埽得到了啤酒 ,因为他写的hello would ,世界是现在好多了,请用closures

$f = function ($out) {
    echo $out;
};

$f("Welcome");

你会感谢我的一天,但是,你只能使用create_function如果你是戈登 ( 从这里发往折磨我们过去的机器 ),他写了这

$fn = create_function(
    '$x',
    'return $x; } $foo = 42; function foo($int) { return $int; '
);

见现场演示



文章来源: Php - understanding create_function() - passing simple variable