Search code examples
phparrayscallbackarray-map

Array_Map using multiple native callbacks?


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')));

Solution

  • You'll have to do it like this:

    $exclude = array_map(function($item) {
        return mysql_real_escape_string(strtoupper(trim($item)));
    }, explode("\n", variable_get('gs_stats_filter', 'googlebot')));