我第一次嘗試使用動態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
)
看來,我不知道如何將一個簡單的變量傳遞給新的功能(我使用全球內create_function(),但它可以幫助小到現在。
那麼,什麼是我的錯誤/誤解/誤用現在:-) ??
如果'$ out'將成爲一個全球性的,那麼你是通過它作爲一個參數? – prodigitalson 2013-05-06 14:52:44
因爲不知何故,如果我沒有,沒有東西會被打印出來。 – 2013-05-06 14:54:14
好吧,如果你打算把它作爲一個全局使用,那麼它的值已經在函數外部配置好了,然後你會在裏面修改它(或不是)修改將適用於全球而不僅限於內部。如果你只需要傳入一個參數,然後刪除全局。如果您需要同時更改參數的名稱,然後修改函數中的'$ out'。例如:'create_function('$ arg','global $ out; echo $ out。$ arg;');' – prodigitalson 2013-05-06 14:57:14