PHP中作用域的实现原理

2014-10-13
阅读 1 分钟
3.3k
为什么会是这样的输出,我相信只要稍微懂点php或者编程的人就明白。那在php底层是怎么实现这样的效果的? Zend引擎本身有_zend_executor_globals结构,该结构中的symptom_table是全局符号表,其中保存了顶层作用域的变量也就是全局变量。但程序需要使用全局变量的时候旧在这个符号表中遍历。 那局部变量呢?其实每个函数...

php底层HashTable的实现

2014-10-11
阅读 3 分钟
5.8k
HashTable对PHP来说是一种非常重要的数据结构。很多PHP的内部实现(变量的作用域,函数表,类的属性、方法,数组)就是通过HashTable来实现的。最近了解了一下PHP底层HashTable的实现。 PHP底层HashTable的实现有两个非常重要的结构分别是:HashTable和Bucket。 先说一下HashTable结构: HashTable的底层实现代码如下:

php底层变量的实现

2014-09-16
阅读 2 分钟
4.5k
大家都知道php是一个弱类型的语言,变量的类型是随着赋值的类型变化的,php的底层是用C写的,C本身是一个强类型的语言,那php在底层是怎么实现类型的呢?

php源码分析trim函数的实现

2014-09-10
阅读 5 分钟
6k
在实际开发中遇到关于 trim 函数的2个问题:     1:使用trim函数不能去除2个以上的连续点号(.)     2 : 使用trim函数去除字符串的问题 先说一下第一个问题。 下面的一段代码:     php -r "echo trim('abcdcba...','...');" 我的本意是要将字符串abcdcba...最后三个点去掉,结果是报错。

mysql缓存判断

2014-06-11
阅读 1 分钟
3.3k
mysql的缓存大致分为2种,一种是对执行计划的缓存,可以跳过sql解析和执行计划阶段。这中缓存只有在某些场景下可以实现。另外一种是缓存完整的select查询。这次主要说说mysql第二种缓存的机制。 先简单提一下第一种缓存形式。在这之前,先说说mysql的整个执行过程。

有关mysql联表的拆分

2014-06-02
阅读 2 分钟
4.7k
有四张表,他要从四张表里面取数据,他已经设计好了数据冗余等等,但还是需要通过联表查询来获取数据,问我有没有比较好的解决办法。说了挺长时间,朋友没听明白。有挫败感,故现在把联表的拆分写一篇文章。

phpcms 里面 Yar 的使用

2014-06-02
阅读 2 分钟
4.4k
后来访问量越来越大,出现了很多问题,例如:因为是json传递数据,偶尔会出现乱码的情况.他们是在php文件中直接调用的接口,如果网络情况不好会出现页面很慢的情况。老板说要解决掉这个问题。想了很多办法,最后决定从网络方面入手。决定采用RPC来避免http的请求。