不使用第三个变量交换两个变量的方法

关键是使用异或操作,将两个变量的值都看成二进制就一目了然了.


Read more...

2013-09-22 PHP练手

PHP 语言结构与函数区别

参考自鸟哥的博文isset和is_null的不同TIPI

###什么是PHP的语言结构?

即语言本身的一部分,如echo,isset等这些和for,foreach一样,作为PHP语言的组成成分.它们也是PHP的关键字.


Read more...

2013-09-03 PHP底层

php 函数的实现

学习自TIPI,做个小结,内容从TIPI中选取

###函数类型

用户定义的函数

在PHP的实现中,如果函数没有显式的返回, Zend引擎也会“帮你“返回NULL。

内部函数

  • 标准函数:count,strpos,implode等
  • 扩展模块中的函数
  • 语言结构:isset,empty,eval等

匿名函数

变量函数


Read more...

2013-09-03 PHP底层

带着操作系统的知识编程

###标题解释

在coding时,有时遇到的问题可以用操作系统的知识来解决.

###问题描述

在一个PHP代码文件里有两段主要代码:其一是提供A数据(这部分代码给个昵称为ACode),其二是提供B数据(这部分代码给个昵称为BCode).其中BCode需要A数据中的部分数据(给个昵称为need)才能计算出B数据.

那么通常的做法就是先执行ACode得到A数据后,BCode再执行不就行了?可如果出现下面这种情况:

假设ACode执行到得到need的时间为t1,执行得到A数据的时间为t2,且t1小于t2很多,那么BCode就要等待很久才执行.也许你会想:那就把BCode放在ACode得到need数据之后执行,但这样的话,ACode剩下的那部分代码就要等到BCode执行完后再执行.

现在需要的实现是:ACode在得到need的时候,BCode就能很快开始执行,而ACode剩下的代码可以和BCode并行执行.


Read more...

2013-08-28 PHP应用

php 变量(下)

学习自TIPI,做个小结,内容从TIPI中选取

###常量

常量是在变量的zval结构的基础上添加了一些额外的元素,内部结构如下。
Read more...


2013-08-24 PHP底层

php 变量(上)

学习自TIPI,做个小结

###PHP变量类型

标量类型:boolean,integer,float,string 复合类型:array,object 特殊类型:resource,NULL


Read more...

2013-08-24 PHP底层

PHP生命周期

学习自TIPI,整文为总结,斜体字为自己添加的内容

PHP的执行分三个阶段:处理请求的开始阶段、处理请求阶段、请求之后的结束阶段。

####处理请求的开始阶段:

1 模块初始化阶段(MINIT),在整个SAPI生命周期内(例如Apache启动以后的整个生命周期内或者命令行程序整个执行过程中),该过程只进行一次。(这应该就是为何修改了php.ini之后,要重启Apache的原因)


Read more...

2013-08-24 PHP底层