切,一个字符串有什么好研究的. 别这么说,看过<平凡的世界>么,平凡的字符串也可以有不平凡的故事.试看: (1)       在C语言中,strlen计算字符串的时间复杂度是?PHP中呢? (2)       在PHP中,怎样处理多字节字符串?PHP对unicode的支持如何? 同样是字符串,为什么c语言与C++/PHP/Java的均不相同? 数据结构决定算法,这句话一点不假. 那么我们今天就来掰一掰,PHP中的字符串结构,以及相关字符串函数的实现. 一.  字符串基础 字符串可以说是PHP中…
年前因为工作比较饱和,现在又忙着换工作的事情,基本停止了对博文的更新.后续的博文,还是慢慢补上吧. 为了不至于过于发散,先搞个未成形的大纲,如下: PHP内核探索之变量  不平凡的字符串 PHP内核探索之变量  变量的生命周期.类型转换 PHP内核探索之变量  变量的循环(foreach,其实放到Zend部分更加合理一些) PHP内核探索之SAPI  (比较疑惑,为什么这么靠后? ) PHP内核探索之函数  (函数实现原理.用户函数和系统函数,性能) PHP内核探索之扩展  (扩展的生命周期,扩…
上一节(PHP内核探索之变量(3)- hash table),我们已经知道,数组在PHP的底层实际上是HashTable(链接法解决冲突),本文将对最常用的函数系列-数组操作的相关函数做进一步的跟踪. 本文主要内容: PHP中提供的数组操作函数 数组操作函数的实现 结语参考文献 一.PHP中提供的数组操作函数 可以说,数组是PHP中使用最广泛的数据结构之一,正因如此,PHP为开发者提供了丰富的数组操作函数(参见http://cn2.php.net/manual/en/ref.array.php…
本文主要内容: 引论 符号表与zval 引用原理 回到最初的问题 一.引论 很久之前写了一篇关于引用的文章,当时写的寥寥草草,很多原理都没有说清楚.最近在翻阅Derick Rethans(home: http://derickrethans.nl/ Github: https://github.com/derickr)大牛之前做的报告时,发现了一篇讲解PHP引用机制的文章,也就是这个PDF.文中从zval和符号表的角度讲解了引用计数.引用传参.引用返回.全局参数等的原理,洋洋洒洒,图文并茂,甚是…
作为数据的容器,我们常常需要跟变量打交道,不管这个变量是数字.数组.字符串.对象还是其他,因而可以说变量是构成语言的不可或缺的基础.本文是PHP内核探索之变量的第一篇,主要介绍zval的基本知识,包括如下几个方面的内容: Zval的基本结构 查看zval的方法:debug_zval_dump和xdebug Zval的原理,COW等 由于写作仓促,难免会有错误,欢迎指出. 一.Zval的基本结构 Zval是PHP中最重要的数据结构之一(另一个比较重要的数据结构是hash table),它包含了PH…
在PHP中,除了zval, 另一个比较重要的数据结构非hash table莫属,例如我们最常见的数组,在底层便是hash table.除了数组,在线程安全(TSRM).GC.资源管理.Global变量.ini配置管理中,几乎都有Hash table的踪迹(上一次我们也提到,符号表也是使用Hash table实现的).那么,在PHP中,这种数据有什么特殊之处,结构是怎么实现的? 带着这些问题,我们开始本次的内核探索之旅. 本文主要内容: Hash table的基本介绍 PHP底层Hash tabl…
这次说说session. session可以说是当前互联网提到的最多的名词之一了.它的含义很宽泛,可以指任何一次完整的事务交互(会话):如发送一次HTTP请求并接受响应,执行一条SQL语句都可以看做一次Session.如无特殊说明,本文中提到的Session单指HTTP会话. 本文是PHP内核探索的第五篇,主要包含如下几个方面的内容: 背景知识和session基础 PHP中session的原理 参考文献 一.背景知识,session基础 1.      HTTP是无状态的 我们知道,HTTP协议…
http://blog.csdn.net/ohmygirl/article/details/41542445 http://www.laruence.com/2008/09/19/520.html…
http://blog.csdn.net/ohmygirl/article/details/41542445…
PHP内核探索:从SAPI接口开始 PHP内核探索:一次请求的开始与结束 PHP内核探索:一次请求生命周期 PHP内核探索:单进程SAPI生命周期 PHP内核探索:多进程/线程的SAPI生命周期 PHP内核探索:Zend引擎 PHP内核探索:再次探讨SAPI PHP内核探索:Apache模块介绍 PHP内核探索:通过mod_php5支持PHP PHP内核探索:Apache运行与钩子函数 PHP内核探索:嵌入式PHP PHP内核探索:PHP的FastCGI PHP内核探索:如何执行PHP脚本 PH…