-
php 分库分表hash算法
本文是一个php下的分库分表hash算法,需要的朋友可以参考下。 //分库分表算法 function calc_hash_db($u, $s = 4) { $h = sprintf("%u", crc32($u)); $h1 = intval(fmod($h, $s)); return $h1; } for($i=1;$i<100;$i++) { echo calc_hash_db($i); echo "<br>"; } function calc_hash_tbl($u, $n = 256, $m = 16) { $h = sprintf("%u", crc32($u)); $h1 = intval($h / $n); $h2 = $h1 % $n; $h3 = base_convert($h2, 10, $m); $h4 = sprintf("%02s", $h3); return $h4; }...
PHP 2014-12-07 00:21:09 -
php实现的微博短链接算法示例代码
本文是一个php实现的微博短链接算法示例代码,感兴趣的同学参考下。 将长网址md5生成32位签名串,分为4段, 每段8个字节 思路: 1)将长网址md5生成32位签名串,分为4段, 每段8个字节; 2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理; 3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串; 4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址; 下面是PHP代码: function shorturl($url='', $prefix='', $suffix='') { $base = array ( 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j...
PHP 2014-12-05 12:33:13 -
php实现rc4加密算法代码
本文是一个php实现的rc4加密算法代码示例,感兴趣的同学参考下. 代码 /* * rc4加密算法 * $pwd 密钥 * $data 要加密的数据 */ function rc4 ($pwd, $data)//$pwd密钥 $data需加密字符串 { $key[] =""; $box[] =""; $pwd_length = strlen($pwd); $data_length = strlen($data); for ($i = 0; $i < 256; $i++) { $key[$i] = ord($pwd[$i % $pwd_length]); $box[$i] = $i; } for ($j = $i = 0; $i < 256; $i++) { $j = ($j + $box[$i] + $key[$i]) % 256; $tmp = $box[$i]; $box[$i] = $box[$j]; $box[$j] = $tmp; } for ($a = $j...
PHP 2014-12-03 14:11:45 -
php 短链接算法收集与分析
本文为大家整理了一些php 短链接算法收集与分析,感兴趣的同学参考下. 短链接就不说了,大家已经都清楚了,如下所示就是短链接: 新浪微博 http://t.cn/SVpONM 腾讯微博 http://url.cn/302yor Yun.io http://d.yun.io/PNri2v 短链接的好处:1、内容需要;2、用户友好;3、便于管理。 如何实现呢,大概有三个步骤: 1、定义一个URL映射算法,可以将长的URL映射成短字符串; 2、使用一个存储(数据库?NoSQL?)来存储完成的映射; 3、实现自己的URL映射算法; 一般来说,第三步是我们比较头疼的,如何将一个长的URL字符串,映射成一个较短的字符串呢...
PHP 2014-12-02 23:03:08 -
微盾PHP脚本加密专家php解密算法
本文是一个微盾PHP脚本加密专家的php解密算法,感兴趣的同学参考下。 <?php /*********************************** *威盾PHP加密专家解密算法 By:Neeao *http://Neeao.com *2009-09-10 ***********************************/ $filename="play-js.php";//要解密的文件 $lines = file($filename);//0,1,2行 //第一次base64解密 $content=""; if(preg_match("/O0O0000O0('.*')/",$lines[1],$y)) { $content=str_replace("O0O0000O0('","",$y[0]); $content=str_replace("')",""...
PHP 2014-12-02 22:25:42 -
PHP递归算法和应用示例
本文为大家讲解的是PHP的递归算法和应用示例代码,感兴趣的同学参考下。 PHP作为开发动态页面WEB的首选技术,对于它的基础知识我们一定要牢记,这让才能有助于编程...
PHP 2014-12-02 07:10:36 -
PHP 快速排序算法示例详解
本文为大家讲解的是PHP 快速排序算法示例详解,感兴趣的同学参考下 其实快速排序之所以称之快速,就是因为,冒泡排序是每次对比只交换相邻的两个值的位置,这样每个值要移动到它最终的排序结果中所对应的位置,可能需要很多次位置的变化。但是快速排序可在一次划分中,就确定你选定的那个对比值在最终排序好的队列中的位置...
PHP 2014-12-02 05:22:12 -
PHP的简易冒泡算法实现代码
本文是一个PHP的简易冒泡算法实现代码,感兴趣的同学参考下。 <?php function BubbleSort($str){ for($i=0;$i<count($str);$i++){//从数组末尾取一个值; for ($k=count($str)-2;$k>=$i;$k--){//将这个值向前冒泡; if($str[$k+1]<$str[$k]){ //将小于号改为大于号,就是降序排列; $tmp=$str[$k+1]; $str[$k+1]=$str[$k]; $str[$k]=$tmp; } } } return $str; } //以下是测试 $str=array(5,8,2,6,10,0,3,12,11); print_r(BubbleSort($str)); ?> php 冒泡排序2 基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面...
PHP 2014-12-01 23:03:49 -
PHP插入排序算法示例
本文是一个PHP实现的插入排序算法示例代码,感兴趣的同学参考下。 插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据...
PHP 2014-11-30 23:41:23 -
PHP排序算法总结
本文为大家整理了PHP排序算法总结,包括插入排序,选择排序,冒泡排序,快速排序等,感兴趣的同学参考下. 对于PHP中对数组的元素进行排序,这个是很经常用到的,之前的项目中也有,而且对于几种排序我们都是用的是asort arsort 等PHP原生函数,没有自己去实现,所以就对一下的几个函数进行总结,这个会不断的进行补充,自己也可以好好的复习和总结 直接上代码吧! <?php /* * 插入排序(一维数组) * 每次将一个待排序的数据元素,插入到前面已经排好序的数列中的适当的位置,使数列依然有序;直到待排序的数据元素全部插入完成为止。 */ function insertSort($arr){ if(!is_array($arr) || count($arr)==0){ return $arr; } $count = count($arr); for($i=1; $i<$count; $i++){ if(isset($arr[$i])){ $tmp = $arr[$i]; //获取后一个元素的值 $j = $i - 1; ...
PHP 2014-11-30 23:21:11 -
php实现简单洗牌算法示例
本文为大家讲解的是php实现简单洗牌算法示例,感兴趣的同学参考下。 如下所示: <?php /** * 简单洗牌算法 */ $card_num=54; //牌数 print_r(wash_card($card_num)); function wash_card($card_num) { $cards=$tmp=array(); for($i=0;$i<$card_num;$i++){ $tmp[$i]=$i; } for($i=0;$i<$card_num;$i++){ ...
PHP 2014-11-30 22:06:21 -
PHP 数据结构 算法 三元组 Triplet
本文为大家讲解的是PHP 数据结构 算法 三元组 Triplet,感兴趣的同学参考下。 <?php /** * 三元组 Triplet * */ class Triplet { private $_data = null; // 初始化三元组 public function init($val1,$val2,$val3) { $this->_data[0] = $val1; $this->_data[1] = $val2; $this->_data[2] = $val3; return true; } // 销毁三元组 public function destroy() { unset($this->_data); return true; } // 返回第$key的值 public function get($key) { if($key < 1 || $key > 3) return false; return $this->_data[$key - 1]; } // ...
PHP 2014-11-30 10:53:18