php global

你global了一个变量,那么Zend就会去全局symbol_table去寻找,如果找不到,就会在全局symbol_table中分配相应的变量。
通过这样的机制,实现了全局变量。


单引号与双引号的区别

至于编译阶段,双引号和单引号的区别也是很大的, 我就举个数字来说明: 在scanning阶段, 对于双引号的词法规则有14条,而对于单引号,仅仅只有6条。

呵呵,是不是经过这样的分析,你会更清楚的了解到以后该怎么使用单引号和双引号了呢?
顺便说一句,对于不需要变量替换的纯字符串,大家都知道,因为在C/C++中,双引号才表示字符串,所以这种情况下,还是使用双引号的好。

参考文章:http://www.laruence.com/2008/08/19/338.html


使对象可以像数组一样进行foreach循环,要求属性必须是私有

使用implements Iterator


错误抑制符

其实使用@与

  1. $old = error_reporting(0);
  2. include('file');
  3. error_reporting($old);

参考文章

http://www.laruence.com/2009/07/27/1020.html


数组非数字键名引号的必要性

PHP会把没有引号引起来的键名当作是常量去获取, 当找不到的时候, 抛出一个NOTICE, 然后再根据”常量明”生成一个字符串, 然后再讲这个字符串做为键名继续~

明白了么? 数组中的非数字键的键名一定要有引号啊~
哦, 还记得有人会说, 那在字符串变量替换的时候, 写引号会导致错误,
恩, 标准写法:$string = "variable value is {$array['key']}"


php受locale影响的函数

字符串相关:

strtoupper 转换大写
strtolower 转换小写
ucfirst 首字大写
sprintf 其中一部分格式化有关
ctype_alpha 检测是否全字母
ctype_alnum 检测是否全数字
ctype_cntrl 检测是否全控制字符
ctype_upper 检测是否全大写
ctype_lower

检测是否全小写

相关文章:http://www.laruence.com/2009/05/31/889.html


深入理解PHP数组遍历顺序

加元素的时候, 元素会插在相同Hash元素链的头部和线性列表的尾部. 也就是说, 元素在线性遍历的时候是根据插入的先后顺序来遍历的, 这个特殊的设计使得在PHP中,当使用数字索引时, 元素的先后顺序是由添加的顺序决定的,而不是索引顺序.

也就是说, PHP中遍历数组的顺序, 是和元素的添加先后相关的, 那么, 现在我们就很清楚的知道, 文章开头的问题的输出是:

参考文章:http://www.laruence.com/2009/08/23/1065.html


提升PHP性能之改变Zend引擎分发方式

可见, GOTO方式最快, SWITCH方式最慢.和官方的描述稍有不符.

GOTO方式比其默认的CALL方式, 性能提升还是比较明显的.

所以, 如果你希望让PHP发挥到机制, 改变Zend VM的分发方式, 也可以做为一个考虑因素.

Zend虚拟机在执行的时候, 对于编译生成的op_array中的每一条opline的opcode都会分发到相应的处理器(zend_vm_def.h定义)执行, 而按照分发的方式不同, 分发过程可以分为CALL, SWITCH, 和GOTO三种类型.

默认是CALL方式, 也就是所有的opcode处理器都定义为函数, 然后虚拟机调用. 这种方式是传统的方式, 也一般被认为是最稳定的方式.

SWITCH方式和GOTO方式则和其命名的意义相同, 分别通过switch和goto来分发opcode到对应的处理逻辑(段)


init_set在安全模式下不能启用


深入理解ob_flush和flush的区别


http://download.csdn.net/download/heqiang_/9765712      php调试技术手册


深入理解PHP原理之异常机制

注意PHP对字符串的递增运算

深入理解PHP内存管理之谁动了我的内存

最新文章

  1. angluar去掉url中#
  2. 【原创】新手入门一篇就够:从零开发移动端IM
  3. Jquery的multifile使用随记
  4. vSphere、Hyper-V与XenServer 你选哪个?
  5. Docker入门命令
  6. c# 在windows服务中 使用定时器
  7. Java中Websocket使用实例解读
  8. Swing中弹出对话框的几种方式(转)
  9. Online网站集
  10. IBM Mq Spring JMS 的xml配置
  11. Fragment深入解析
  12. HTML之事件处理程序
  13. HTTP高并发调优小记
  14. centos 7 mariadb安装
  15. Crontab中的除号(slash)到底怎么用?(转载)
  16. 八(第二篇)、主体结构元素——nav元素、aside元素
  17. Dethe is my Finaunce金融
  18. SEND EMAIL SO_DOCUMENT_SEND_API1
  19. Django--ORM(模型层)--多表(重重点)
  20. VS中的生成事件

热门文章

  1. Vue+element组合el-table-column表头宽度自定义
  2. Node入门教程(10)第八章:Node 的事件处理
  3. VMware Workstation Pro 14.1.1 正式版
  4. Mac 安装 Jenkins
  5. Android图片处理(Matrix,ColorMatrix)
  6. win 停止tomcat
  7. SpringBatch的初步了解
  8. [原]VS2012编译GLEW 1.11
  9. 我的Mac Pro coding环境配置
  10. Kubernetes – Ingress