public static function map($array, $callback, $param1 = null, $param2 = null, $param3 = null)
{
$result = array();
$paramStructure = null;
if (func_num_args() > 2) {
$paramStructure = func_get_args();
$paramStructure = array_slice($paramStructure, 2);
}
foreach ($array as $v) {
$vv = self::callbackRun($callback, array($v), $paramStructure);
// $callbackArgs = $args;
// foreach($args as $i => $arg) {
// $callbackArgs[$i] = $arg instanceof CallbackParam
// ? $v
// : $arg;
// }
// $vv = call_user_func_array($callback, $callbackArgs);
if (is_array($vv)) {
foreach ($vv as $vvv) {
$result[] = $vvv;
}
} elseif ($vv !== null) {
$result[] = $vv;
}
}
return $result;
}