<? //-------------------- // 基本数据结构算法 //-------------------- //二分查找(数组里查找某个元素) function bin_sch($array, $low, $high, $k){ if ( $low <= $high){ $mid = intval(($low+$high)/2 ); if ($array[$mid] == $k){ return $mid; }elseif ( $k < $array[$mid]){ return bin_sch($array, $low, $mid-1, $k); }else{ ...
PHP实现: 复制代码 代码如下:<?php /** * 计算四则运算表达式 */ error_reporting(E_ALL); $exp = ‘(1+2*(3+5)/4)*(3+(5-4)*2)‘; $arr_exp = array(); for($i=0;$i<strlen($exp);$i++){ $arr_exp[] = $exp[$i]; } $result = calcexp( array_reverse($arr_exp) ); echo $exp . ‘=‘ . $result; function calcexp( $exp ){ $arr_n = array(); $arr_op = array(); while( ($s = array_pop( $exp )) != ‘‘ ){ if( $s == ‘(‘ ){...
本文实例讲述了php类自动加载器实现方法。分享给大家供大家参考。具体如下:这里autoload 可兼容以下格式:Cache_File_Json class_xxx.php xxx.class.php xxx.phpphp代码如下: function __autoload($className){$dirs=explode(‘_‘,$className);$fileName=array_pop($dirs);//print_r($dirs);$filePath=$fileName;if(is_array($dirs) && (count($dirs) > 0)){//echo ‘\n---\n‘; print_r($dirs);$dirPath=‘‘;foreach ($d...
汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。是不是很简单?OK,搞定它! 1.字符串翻转,前n位取模长度,abc翻转成cba 后面的翻转成fedXYX ,然后再统一翻转 XYZdefabc 2.第二种思路,字符串复制一份拼接在一起,截取从n开始到le...
header("Content-Type: text/html;charset=utf-8");//输出不乱码,你懂的 $total=10;//红包总额 $num=8;// 分成8个红包,支持8人随机领取 $min=0.01;//每个人最少能收到0.01元for ($i=1;$i<$num;$i++) {$safe_total=($total-($num-$i)*$min)/($num-$i);//随机安全上限$money=mt_rand($min*100,$safe_total*100)/100;$total=$total-$money;echo ‘第‘.$i.‘个红包:‘.$money.‘ 元,余额:‘.$total.‘ 元 <br/>‘; } echo ‘第‘...
Apache的 mod_rewrite是比较强大的,在进行网站建设时,可以通过这个模块来实现伪静态。 主要步骤如下: 1.检测Apache是否开启mod_rewrite功能 可以通过php提供的phpinfo()函数查看环境配置,找到“Loaded Modules”,其中列出了所有apache2handler已经开启的模块,如果里面包括“mod_rewrite”,则已经支持,不再需要继续设置。如果没有开启“mod_rewrite”,则打开目录 apache目录下的“/apache/conf/” ,找到 httpd.conf ...
<?phpclass node{ public $value; public function __construct($value){ $this->value = $value; }}class queue{ public $head; public $last; public $queuelist; public $size = 0; //出队列 public function dequeue(){ if(0 == $this->size){ return ; exit(‘the queue is empty‘); } $current = $this->head; array_shift($this->queuelist); $this->head = current($this->queuelist); $this->size--; return...
使用图形显示Ip,文件 sunip.php 复制代码 代码如下:<?php header("Content-type: image/gif"); $im = imagecreate(130,15); $background_color = ImageColorAllocate ($im, 255, 255, 255); unset($ip); if($_SERVER[‘HTTP_CLIENT_IP‘]){ $ip=$_SERVER[‘HTTP_CLIENT_IP‘]; } else if($_SERVER[‘HTTP_X_FORWARDED_FOR‘]){ $ip=$_SERVER[‘HTTP_X_FORWARDED_FOR‘]; } else{ $ip=$_SERVER[‘REMOTE_ADDR‘]; } // www.jb51.ne...
$url=$_SERVER[‘REQUEST_URL’]; //获得当前请求的URL$url=parse_url($url);//将获得的URL解析成有固定键值的数组$url=$url[‘path’];//获得路径 $pageSize=10;//设置一页显示的条数if(isset($_GET[‘page’]))$currentPage=$_GET[‘page’];else $currentPage=1; $conn=@mysql_connnect(“localhost”,”root”,”root”)or die (“数据库连接失败”);mysql_select_db(“test”,$conn);mysql_query(“set names ‘utf-8’”)...
本文实例讲述了memcache一致性hash的php实现方法。分享给大家供大家参考。具体如下:最近在看一些分布式方面的文章,所以就用php实现一致性hash来练练手,以前一般用的是最原始的hash取模做 分布式,当生产过程中添加或删除一台memcache都会造成数据的全部失效,一致性hash就是为了解决这个问题,把失效数据降到最低,相关资料可以 google一下!php实现效率有一定的缺失,如果要高效率,还是写扩展比较好经测试,5个memcache,每个...
复制代码 代码如下:$useragent = addslashes(strtolower($_SERVER[‘HTTP_USER_AGENT‘])); if (strpos($useragent, ‘googlebot‘)!== false){$bot = ‘Google‘;} elseif (strpos($useragent,‘mediapartners-google‘) !== false){$bot = ‘Google Adsense‘;} elseif (strpos($useragent,‘baiduspider‘) !== false){$bot = ‘Baidu‘;} elseif (strpos($useragent,‘sogou spider‘) !== false){$bot = ‘Sogou‘;} elseif (...
迪菲-赫尔曼(Diffie–Hellman)是一个可以让双方在不安全的公共信道上建立秘钥的一种算法,双方后期就可以利用这个秘钥加密(如RC4)内容。 迪菲-赫尔曼(Diffie–Hellman)算法原理很简单:如上原理,最后很容易通过数学原理证明(g^b%p)^a%p = (g^a%p)^b%p,因此它们得到一个相同的密钥。 上面除了a,b和最后得出的公共密钥是秘密的,其它都是可以在公共信道上传递。实际运用中p很大(300位以上),g通常取2或5。那么几乎不可能从p,g和g...
php初学者,有什么不对的还请指正。首先是在html页面中用jq实现添加标签:divAchivePersonnal是select所在的div的外层div,divselectAchivePersonnal是select的最近一层div,info内是字符串拼接,jq标签插入用append方法。接下来是调整css样式,使div会随着标签增加而加大,这里要用一个css属性overflow(亲自查),这里直接在divselectAchivePersonnal使用时不会达到你想要的效果,所以至少要有两个嵌套的div,在直接关联div的外层...
libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证。 php的curl真的是相当好用,网上一搜索相关文章都是关于curl模拟登陆的,很少人提供模拟discuz发贴的源码。 复制代码 代码如下:<?php $discuz_url = ‘http://127.0.0.1/discuz/‘;//论坛地址 $login_url = $discuz_url .‘logging.php?action=login‘;//登录页地址 $post_fi...
本文实例讲述了thinkphp实现上一篇与下一篇的方法。分享给大家供大家参考。具体实现方法如下:方法一:复制代码 代码如下: //上一篇 $front=$Article->where("id<".$id)->order(‘id desc‘)->limit(‘1‘)->find(); $this->assign(‘front‘,$front); //下一篇 $after=$Article->where("id>".$id)->order(‘id desc‘)->limit(‘1‘)->find(); $this->assign(‘after‘,$after);方法二:复制代码 代码如下://上一篇 $...