生成数据库主键ID 每人一个独特数字id,注册成功随机生成一个1位到11位数id,长整型,0-99999999999 。要使用合理高效的比对算法,避免跟所有现存id逐一比对。该怎么写?大家有什么好的想法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接将用户的ID缓存成一个以数组形式存取的php文件,查看是否有重复用 isset(id['username'])就可以了,没重复就自动生成一个,插入数据库和缓存文本。 大概是这样<?$arr = array(...); // 必须是排序好的function searchID($s, $min, $max){ global $arr; if($min == $max){ if($s == $arr[$min]){ return true; }else{ return false; } }else{ $middle = round(($max-$min)/2); if($s == $arr[$middle]){ return true; }else if($s < $arr[$middle]){ searchID($s, 0, $middle); }else{ searchID($s, $middle, $max); } }}echo searchID($s, 0, count($arr));?> 是差不多,但利用php本身有的资源要比自己去动手重新写一次要节省时间, 效率上自带的功能也稍胜一筹 cakephp框架 求助,关于邮箱通讯录的导出 smarty 的小问题 高手们顺手回答一下 新手学习求问 用php和javascript怎么做查询的提示框 PHP分页调用数据,怎么速度这么慢啊,内有语句. WEBService Client(PHP)->Server(JAVA) 我要用php获取文件扩展名!!怎么做啊??最后40分啦! php初学者问题 关于facebook第三方登录问题 在线等!!!! php中byte的处理 大家帮我解释一下这段php是什么意思
$arr = array(...); // 必须是排序好的
function searchID($s, $min, $max){
global $arr;
if($min == $max){
if($s == $arr[$min]){
return true;
}else{
return false;
}
}else{
$middle = round(($max-$min)/2);
if($s == $arr[$middle]){
return true;
}else if($s < $arr[$middle]){
searchID($s, 0, $middle);
}else{
searchID($s, $middle, $max);
}
}
}
echo searchID($s, 0, count($arr));
?>