И я продолжаю серию своих никчемных исследований…
<?php ini_set('memory_limit', '4096M'); $array = []; for ($i = 0; $i < 1000000; $i++) { $array[$i] = (string)$i; } $start = microtime(true); $tmp = array_map('intval', $array); $end = microtime(true); echo 'array_map(\'intval\', $array): ' . ($end - $start) . PHP_EOL; $start = microtime(true); $tmp = array_map(function($value) { return (int)$value; }, $array); $end = microtime(true); echo 'array_map(function($value) { ... }, $array): ' . ($end - $start) . PHP_EOL;
array_map('intval', $array): 0.47099804878235 array_map(function($value) { ... }, $array): 2.9696278572083