我有一个匿名函数:
$rules = array(
'asdf' => array('required'),
'zxcv' => array('function ($data) {
return strtoupper($data); }'),
);
发现在' zxcv' $ rules数组的键。我需要调用此函数,我已经尝试了一些方法,包括:
$rules['zxcv']('mydata');
和
array_map($rules['zxcv'], 'mydata');
和
call_user_func($ rules [' zxcv'],' mydata');无济于事
任何帮助将不胜感激
答案 0 :(得分:4)
这是一个字符串,而不是一个函数。丢失引号并使其如此:
$rules = array(
'asdf' => array('required'),
'zxcv' => function($data) { return strtoupper($data); }
);
使用array_map()
:
array_map($rules['zxcv'], $someArray);
单独调用该函数:
echo $rules['zxcv']('foo'); // FOO
答案 1 :(得分:3)
你所拥有的是string
,而不是function
。
您正在寻找的是:
$rules = array(
'asdf' => array('required'),
'zxcv' => function($data) { return strtoupper($data);}
);
然后你就可以这样称呼它:
$rules['zxcv'](YOUR_DATA);
array_map($rules['zxcv'], YOUR_DATA);