Меню

Дмитрий Меркушин

Пишу преимущественно о работе

array_map(‘intval’, $array) vs. array_map(function($val) { … }, $array)

И я продолжаю серию своих никчемных исследований…

<?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

Добавить комментарий