博客首页 注册 建议与交流 排行榜 加入友情链接         宝宝相册的专门空间
推荐 投诉 搜索: 帮助

流水孟春

以前使用的博客 webvista.cublog.cn
lib.cublog.cn
php 取得唯一id

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

$n = 100000;

print '1. (microtime): ';
$start = microtime(true);
for ($i=0; $i<$n; $i++) {
    $test = microtime();
}
print (microtime(true) - $start) . "s used \n";
print $test ."\n";

print '2. (microtime): ';
$start = microtime(true);
for ($i=0; $i<$n; $i++) {
    $test = microtime(true);
}
print (microtime(true) - $start) . "s used \n";
print $test ."\n";

print '3. uniqid: ';
$start = microtime(true);
for ($i=0; $i<$n; $i++) {
    $test = uniqid('uid', false);
}
print (microtime(true) - $start) . "s used \n";
print $test . "\n\n\n";


速度最快的是第三种
microtime()在php5后才支持传参返回float值,在多核的情况下,第2种方法也许会有重复值 ;在多机器环境下,要给值加不同的前缀区分不同的机器.还是原生php用的好。

发表于: 2008-04-05,修改于: 2008-04-08 10:43,已浏览214次,有评论0条 推荐 投诉

给我留言
版权所有 ChinaUnix.net 页面生成时间:0.17224