php unset()详解

标准

jasony:   PHP的unset()函数用来清除、销毁变量,不用的变量,我们可以用unset()将它销毁。但是某些时候,用unset()却无法达到销毁变量占用的内存!我们先看一个例子: <?php $s=str_repeat('1',255); //产生由255个1组成的字符串 $m=memory_get_usage(); //获取当前占用内存 unset($s); $mm=memory_get_usage(); //unset()后再查看当前占用内存 echo$m-$mm; ?> 最后输出unset()之前占用内存减去unset()之后占用内存,如果是正 阅读全文 »


刘昕明:送给和我一样曾经浮躁过的PHP程序员

标准

技术党: 2012年偶决定开始写博客了,不为别的,就希望可以通过博客记录我的成长历程同时也希望可以帮助一些刚毕业,刚入行业的兄弟姐们们。我们是一群充满浮躁、抱怨、迷茫的程序猿,想一想3年就这么过去了,社会变得更浮躁了,鸭梨也越来越大,房?车?女人?… 抓狂… 决定写这样一篇文章,再次明确自己的职业规划,也送给浮躁的你,踏上程序猿这条路可谓是路途艰辛,乏味,枯燥,在这里把自己的学习心得,目前正在计划的规划,列出来。希望对你有所帮助。 1、多动手,多思考 不要怕做不好,刚毕业或者刚入行最缺的就是工作经验,没有别的途径,只有做,做,做,多做经验就来了。项目做多了自然而然你就有了多种不同项目的业务逻辑 阅读全文 »


HTTP协议下的即时通讯第一章——Comet(长轮询)

标准

夜末的博客:  前几天在学校演讲《KEEP CONNECTING》(HTTP协议下的服务器与客户端的即时通讯方案),在演讲中我提出了当前热门的Comet,这是一种相对于“定时更新”和"第三方SOCKET插件"来说更好的方案,我们可以称它为长轮询。  当年我研究长轮询的时候,它可能是当时最中和的方案,既兼大部分客户端又减少服务器的投入成本,可那个时候HTML5才刚刚问世,几乎没有丝毫市场占有率,而如今HTML5飞速发展,到目前为止已经坐拥了52%的市场占有率。不可否认HTML5是未来的趋势,长轮询只不过是一个临时的过度罢了,这点我也在演讲中提到了。所以在这 阅读全文 »


PHP各种排序算法比较

标准

稻子: 冒泡排序 基本思想:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。 <?ph 阅读全文 »


HTTP几种常用状态码的使用

标准

稻子: http协议发送头详解: GET /hrsys/%7B$web_url%7D/images/js/ajax.js HTTP/1.1【表示发送的get请求,请求的资源是ajax.js 使用的http1.1协议】 Accept: /【表示客户端可以接受任何数据】 Referer: http://localhost/hrsys/index.php【表示请求从哪儿来】 Accept-Language: zh-CN【页面接受语言】 User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; 阅读全文 »


提高-PHP-编程效率的方法

标准

?天蝎飞碟?: 用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说echo是语言结构,不是真正的函数,故把函数加上了双引号)。1、如果能将类的方法定义成static,就尽量定义成static,它的速度会提升将近4倍。2、$row[’id’] 的速度是$row[id]的7倍。3、echo 比 print 快,并且使用echo的多重参数(译注:指用逗号而不是句点)代替字符串连接,比如echo $str1,$str2。4、在执行for循环之前确定最大循 阅读全文 »


[译]PHP命名空间

标准

空间是一条坎坷的路程。谢天谢地它被加入到了PHP5.3中,从那以后PHP代码的可用结构得到了很大的改善。但是我们应该怎么使用它呢?   什么是命名空间? 把命名空间想像成一个抽屉,你可以把各种各样的东西放到里面:铅笔,尺子,纸张等等。这些都是你的东西。在抽屉下面一层是其他人的东西,他也放了同样的东西在里面。为了防止互相使用他人的东西,你决定给抽屉贴一个标签这样就很清楚哪些东西是谁的了。 之前开发者必须在他们的类名、函数名和常量中使用下划线来区分代码库。这样当于给每样东西都打了个标签然后把他们全部放到一个大抽屉里。当然这也是一种组织方式,但是它是非常低效的。 命名空间解决了这个问题!你 阅读全文 »


UTF-8编码有无bom的问题

标准

utf-8关于bom的知识: 在UCS编码中有一个叫做”ZERO WIDTH NO-BREAK SPACE”的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。UCS规范建议我们在传输字节流前,先传输字符”ZERO WIDTH NO-BREAK SPACE”。这样如果接收者收到FEFF,就表明这个字节流是Big-Endian的;如果收到FFFE,就表明这个字节流是Little-Endian的。因此字符”ZERO WIDTH NO-BREAK SPACE”又被称作BOM。 UTF-8不 阅读全文 »