php array_map和foreach比较

来源:互联网 发布:java 程序员周末班 编辑:程序博客网 时间:2024/06/03 05:44

在php中array_map的效率是要比foreach的效率高很多的

如果同时处理一段具有两个相同数目的数组,把它们的对应的键值相乘,代码如下

<?phpset_time_limit(0);$s_time = microtime(true);$a = range(1, 10000);$b = range(1, 10000);$c = array();for ($i = 0; $i < 10000; $i++) {$c[] = $a[$i] * $a[$i];}// foreach($a as $key => $value) {// foreach ($b as $key1 => $value1) {// if ($key1 == $key) {// $c[] = $value * $value1;// unset($b[$key1]);// break;// }// }// }//回调函数中传入的第一个参数的值为第一个数组的值,第二个参数为第二个数组的值,依次类推// $fun = function ($a, $b){// return $a * $b;// };// $c = array_map($fun, $a, $b);var_dump(count($c));$f_time = microtime(true);$s_time = ($f_time - $s_time) * 1000;echo 'spend' . $s_time . 'ms';?>

当使用for时,效率是最快的,运行时间只需要spend2.000093460083ms

当使用array_map时,运行的时间只需要spend15.599966049194ms

但是当运行foreach时,运行时间需要大大增加需要spend1070.6610679626ms

我们可以多多使用array_map代替foreach,这样代码看着会更加清爽微笑


0 1
原创粉丝点击