<?php
function array_different($array_1, $array_2) {
$array_2 = array_flip($array_2); //将数组键值调换

foreach ($array_1 as $key => $val) {
if (isset($array_2[$val])) {
unset($array_1[$key]);
}
}

return $array_1;
}

function runtime($mode = 0) {
static $t;

if (!$mode) {
$t = microtime();
return;
}

$t1 = microtime();
list($m0, $s0) = explode(" ", $t);
list($m1, $s1) = explode(" ", $t1);

return sprintf("%.3f", ($s1 + $m1 - $s0 - $m0) * 1000);
}

$array_1 = array();
$array_2 = array();

for ($i = 0; $i <= 5000; $i++) {
$array_1[$i] = mt_rand(0, 100);
$array_2[$i] = mt_rand(0, 100);
}

runtime(); //计时开始
$arr_diff = array_diff($array_1, $array_2);
echo runtime(1); //计时结束并输出计时结果
echo '<br>';

foreach ($arr_diff as $key => $val) {
echo $val.',';
}

runtime(); //计时开始
$arr_diff2 = array_different($array_1, $array_2);
echo runtime(2); //计时结束并且输出计时结果

foreach ($arr_diff2 as $key => $val) {
echo $val.',';
}

最新文章

  1. Go语言常用命令介绍
  2. css3径向渐变详解-遁地龙卷风
  3. 组合数学 + STL --- 利用STL生成全排列
  4. Android异步任务AsyncTask
  5. Delphi 的 7zip 压缩算法
  6. CSU 1160 A(Contest #3)
  7. Ruby Gem命令
  8. Hadoop Streaming框架学习(一)
  9. jQuery event,冒泡,默认事件用法
  10. SSM框架开发web项目系列(三) MyBatis之resultMap及关联映射
  11. js中的for循环案例
  12. Item 15: 只要有可能,就使用constexpr
  13. python API验证
  14. Python并发编程之线程消息通信机制任务协调(四)
  15. C# WebAPI系列(2)
  16. sqli-labs第一节 get-字符型注入
  17. 【VMware vSphere】vCenter添加主机失败:无法访问指定主机
  18. STM32 变量无法赋值问题
  19. 微信app支付
  20. 【宝塔面板】pm2 安装没反应问题

热门文章

  1. underscorejs-partition学习
  2. Canvas中点到点的路径运动
  3. javascript为目标标签添加class样式
  4. sys.argv[]用法
  5. 项目知识点.Part2
  6. IOS“多继承”
  7. Linq/EF/lambda Group by/Order by 多个字段详细用法
  8. iOS应用开发:什么是ARC?
  9. Hotel
  10. Communication System