Php - понимание create_function() - передача простой переменной
В первый раз я пытаюсь использовать динамический 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
)
Кажется, я не знаю, как передать простую переменную в новую функцию (я использую global внутри create_function(), но пока это мало помогает.
Итак, в чем моя ошибка / недоразумение / неправильное использование сейчас:-)??
1 ответ
create_function
был во время stone age
, когда kaᵠ использовал ручку и бумагу для написания приложений, когда PeeHaa埽 получил пиво, потому что он написал hello would
, Мир лучше сейчас, пожалуйста, используйте closures
$f = function ($out) {
echo $out;
};
$f("Welcome");
Вы бы поблагодарили меня однажды, но вы можете использовать только create_function
если ты Gordon (Машина из прошлого, посланная сюда, чтобы мучить нас), он написал это
$fn = create_function(
'$x',
'return $x; } $foo = 42; function foo($int) { return $int; '
);