假设我有一个名为$_POST
的{{1}}数组
然后,我运行以下回调users
。但是,可以说我还有另外两个要运行的功能,例如real_escape_string
和clean
。可以一行完成吗?
trim
答案 0 :(得分:0)
请查看array_map()的PHP文档的相应部分。请注意,该函数接受一个回调函数以及紧随其后的任意数量的数组,因此无法将多个回调放入单个array_map()
调用中。如果要应用多个功能,则需要使用嵌套的array_map()
调用或传递匿名函数。示例:
// Nesting.
array_map('trim', array_map('strtoupper', array(' input1 ', ' Input2')));
// Anonymous function.
array_map(function($elem) {
return trim(strtoupper($elem));
}, array(' input1 ', ' Input2'));
您还可以遍历这样的回调列表:
$my_callbacks = array('trim', 'strtoupper');
array_map(function($elem) use ($my_callbacks) {
foreach($my_callbacks as $callback) {
$elem = $callback($elem);
}
return $elem;
}, array(' input1 ', ' Input2'));
有很多方法可以解决此问题。您需要选择最适合您的用例的一个。