-
php全排列递归算法代码
本文是一个php全排列递归算法代码示例,感兴趣的同学参考下。 算法原理 如果用P表示n个元素的全排列,而Pi表示n个元素中不包含元素i的全排列,(i)Pi表示在排列Pi前面加上前缀i的排列,那么n个元素的全排列可递归定义为: ① 如果n=1,则排列P只有一个元素i; ② 如果n>1,则全排列P由排列(i)Pi构成; 根据定义,可以看出如果已经生成(k-1)个元素的排列Pi,那么k个元素的排列可以在每个Pi前面加上元素i而生成...
PHP 2014-12-16 22:54:04 -
php中通过数组进行高效随机抽取指定条记录的算法
本文为大家讲解的是php中通过数组进行高效随机抽取指定条记录的算法,(array_rand函数应用示例)感兴趣的同学参考下. php使用数组array_rand()函数进行高效随机抽取指定条数的记录,可以随机抽取数据库中的记录,适合进行随机展示和抽奖程序。 该算法主要是利用php的array_rand()函数,下面看一下array_rand()函数的主要功能: array_rand—从数组中随机取出一个或多个单元 mixed array_rand(array $input[,int $num_req] ) array_rand()在你想从数组中取出一个或多个随机的单元时相当有用...
PHP 2014-12-16 07:06:05 -
php的hash算法使用介绍
本文是一个php的hash算法使用介绍,感兴趣的同学参考下. PHP的Hash采用的是目前最为普遍的DJBX33A (Daniel J. Bernstein, Times 33 with Addition), 这个算法被广泛运用与多个软件项目,Apache, Perl和Berkeley DB等。对于字符串而言这是目前所知道的最好的哈希算法,原因在于该算法的速度非常快,而且分类非常好(冲突小,分布均匀) Hash Table是PHP的核心,这话一点都不过分...
PHP 2014-12-15 09:27:07 -
通过PHP的内置函数,通过DES算法对数据加密和解密
本文为大家讲解的是通过PHP的内置函数,通过DES算法对数据加密和解密,感兴趣的同学参考下. 数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为密文,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的 由于项目的需要,要写一个能生成“授权码”的类(授权码主要包含项目使用的到期时间),生成的授权码将会写入到一个文件当中,每当项目运行的时候,会自动读取出文件中的密文,然后使用唯一的“密钥”来调用某个函数,对密文进行解密,从中解读出项目的使用到期时间。 之前,自己有先试着写了下,主要是base64+md5+反转字符串...
PHP 2014-12-15 04:39:03 -
PHP 数组差集算法(array_diff 的实现)
本文是一个用php实现的可以用来计算二个数组差集的函数,感兴趣的同学参考下. 题目如下: 给你两个分别有 5000 个元素的数组,计算他们的差集 -- 说白了也就是用 PHP 和你认为最好的算法实现 array_diff 的算法。初次接到这个题目,我发现这非常的简单,于是按照以往的经验“随便”写了一个: function array_diff($array_1, $array_2) { $diff = array(); foreach ($array_1 as $k => $v1) { $flag = false; forea...
PHP 2014-12-14 17:45:05 -
PHP实现AES256加密算法实例
本文是一个PHP实现的AES256加密算法示例代码,包括了对应的类文件及演示demo实例,并附带另一个PHP mcrypt加密实例供大家参考借鉴,需要的朋友可以参考学习下 aes.class...
PHP 2014-12-14 00:57:57 -
PHP 各种排序算法实现代码
本文是几个php实现的各种排序算法,有冒泡排序,交换排序,选择排序,输入排序等,感兴趣的同学参考下. <?php // 功能: PHP实现各种排序算法 // Author: windlike // Datetime: 2007-06-09 // 冒泡排序 function BubbleSort($arr){ $num = count($arr); for($i=1;$i<$num;$i++){ for($j=$num-1;$j>=$i;$j--){ if($arr[$j]<$arr[$j-1]){ $iTemp = $arr[$j-1]; $arr[$j-1] = $arr[$j]; $arr[$j] = $iTemp; } } } return $arr; } // 交换法排序 function ExchangeSort($arr){ $num = count($arr); for($i=0;$i<$num-1;$i++){ for($j=$i+1;$j<$num;$j++){ if(...
PHP 2014-12-12 05:27:04 -
php 一元分词算法
本文是一个php实现 一元分词算法,感兴趣的同学参考下 /** * 一元分词算法 * UTF8编码下一个字符如果首字符ASCII码不大于192则只占1个字节 * 如果首字符ASCII码大于192小于224则占用2个字节,否则占用3个字节 * 一元分词需要在mysql的my.ini文件中增加 ft_min_word_len=1 * 可以使用mysql查询语句 show variables like '%ft%' 查看mysql全文搜索相关设置 * * @access global * @param string $str * @param boolean $unique 是否去除重复值 * @param boolean $merge 是否合并附加值 * @return array */ function seg_word($str,$unique=false,$merge=true) { $str = trim(strip_tags($str)); $strlen = strlen($str); if($strl...
PHP 2014-12-11 00:54:08 -
php不用内置函数对数组排序的两个算法代码
本文是二个php实现的不用内置函数,实现数级排序功能的函数方法,感兴趣的同学参考下。 一朋友找工作遇到的试题,备注一下...
PHP 2014-12-09 07:09:03 -
App Store中国区调整算法:封杀刷排名
3月26日消息:国内应用推广机构APPYING近日爆料称苹果App Store中国区排名算法开始调整,App刷排名行为将完全失效,根据香港应用商店分析网站App Annie公布的榜单显示,目前APP Store上的应用排名出现了较大的变化,其中有多款国内应用排名跌幅超过50。 苹果商店开始整治刷排名行为 据了解,从3月初开始,App Store中国区免费应用排行榜,每天下午3点整开始进入“锁榜”情况,一般在下午6点左右恢复排名更新...
系统程序 2014-12-09 07:03:05 -
php 3行代码的分页算法(求起始页和结束页)
涉及到分页时, 除非只显示上一页/下一页, 否则需要计算起始页和结束页. 看过很多代码都是用大量的if-else来实现, 代码量大, 又不简洁...
PHP 2014-12-09 01:45:07 -
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