Array_Map 使用多个本机回调?
我想在同一个数组上运行 3 个本机函数:trim
、strtoupper
和 mysql_real_escape_string
。这可以做到吗?
尝试像这样将数组作为回调传递是行不通的:
$exclude = array_map(array('trim','strtoupper','mysql_real_escape_string'), explode("\n", variable_get('gs_stats_filter', 'googlebot')));
尽管这工作正常,因为它只使用一个本机函数作为回调:
$exclude = array_map('trim', explode("\n", variable_get('gs_stats_filter', 'googlebot')));
I want to run 3 native functions on the same array: trim
, strtoupper
and mysql_real_escape_string
. Can this be done?
Trying to pass an array as a callback like this isn't working:
$exclude = array_map(array('trim','strtoupper','mysql_real_escape_string'), explode("\n", variable_get('gs_stats_filter', 'googlebot')));
Although this works fine because it's only using one native function as the callback:
$exclude = array_map('trim', explode("\n", variable_get('gs_stats_filter', 'googlebot')));
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你必须这样做:
You'll have to do it like this:
你也可以做类似的事情:
或者其他事情。传入一个执行所有这些操作的匿名函数。
希望有帮助。
祝你好运 :)
You could also do something like:
or something. Pass in an anonymous function that does all that stuff.
Hope that helps.
Good luck :)
是的,只需将一个映射的结果传递到另一个映射:
您还可以在 PHP 5.3+ 中使用回调:
或更早版本(在低于 5.3 的 PHP 版本中):
Yes, just pass the result of one mapping into another:
You can also use a callback in PHP 5.3+:
or earlier (in versions of PHP lower than 5.3):