Php-了解create_function()-传递简单变量
我第一次尝试使用动态的Php-了解create_function()-传递简单变量,php,lambda,create-function,dynamic-function,Php,Lambda,Create Function,Dynamic Function,我第一次尝试使用动态的create_函数,到目前为止,没有太大成功:-) 我的职能是: 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_dash
create_函数
,到目前为止,没有太大成功:-)
我的职能是:
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\u theu widgets()
操作仅接受直接回送并打印小部件的内容
$o99_brsa_options[content]
是一个经过验证的数组,包含$i
元素(每个元素都是内容)
奇怪的是,$i
正在处理$widgt\u id
和$widgt\u name
但是在创建函数()
上,我在所有小部件中都得到了相同的值。(echo$out
)
似乎我不知道如何将一个简单的变量传递给新函数(我正在使用global inside create_function(),但目前它没有什么帮助
那么,我现在犯了什么错误/误解/误用了什么:-)?
创建函数
是在石器时代
,当时,因为他写了hello will
,世界现在更好了请使用闭包
$f = function ($out) {
echo $out;
};
$f("Welcome");
总有一天你会感谢我的,但你只能使用create_function
如果你是(过去派来折磨我们的机器)他写了这封信
$fn = create_function(
'$x',
'return $x; } $foo = 42; function foo($int) { return $int; '
);
如果
$out
将是一个全局变量,那么您将如何将其作为参数传递?因为不知何故,如果我不这样做,则不会打印任何内容。如果您将其作为全局变量使用,则其值将在函数外部配置,然后您将在函数内部修改(或不修改)然后,这一修改将适用于全球,而不仅仅是国内。如果只需要传入一个参数,则删除全局参数。如果需要同时执行这两项操作,请更改参数的名称,然后让它在函数内部修改$out
。示例:create_函数('$arg','global$out;echo$out.$arg;')代码>:-)我现在已经在感谢你了:-)。但是,如果我需要对PHP5.2.9的支持,该怎么办?你知道“PHP5.2.9”中有多少bug吗?我想你应该马上升级。。。。因为如果你让它工作起来,更多的问题会随之而来是的,先生!:-)事实上你是对的。谢谢你的提示(我不知道闭包,我想这些工具对进度很重要:-)。你的链接很酷(特别是99啤酒),欢迎你。。。这里有更多的提示和建议。因此,我想我需要将标题从“理解创建函数()”改为“我是否应该使用创建函数()?
”——答案会短得多。。