• 浅析 PHP 变量存储结构及弱类型实现机制

    Posted by : lon.y@qq.com on 2017年7月4日

    (本文来自 步迎飞 的自荐投稿) 根据需要,下载相应php源代码:(php 下载地址) 当前下载php版本为 php-5.5.37 变量的值存储到以下所示zval结构体中。 zval结构体定义在Zend/zend_types.h文件 typedef struct _zval_struct zval; struct _zval_struct 定义在Zend/zend.h文件中 struct _zval_struct { /* Variable informa

    阅读全文...

  • 理解 PHP 内部函数的定义

    Posted by : lon.y@qq.com on 2017年7月4日

    欢迎来到”给PHP开发者的PHP源码”系列的第二部分。 在上一篇中,ircmaxell说明了你可以在哪里找到PHP的源码,它的基本目录结构以及简单地介绍了一些C语言(因为PHP是用C语言来写的)。如果你错过了那篇文章,在你开始读这篇文章之前也许你应该读一下它。 在这篇文章中,我们谈论的是定位PHP内部函数的定义,以及理解它们的原理。 如何找到函数的定义 作为开始,让我们尝试找出strpos函数的定义。 尝试的第一步,就是去PHP 5.4根目录然后在页面顶部

    阅读全文...

  • PHP源码阅读:count函数

    Posted by : lon.y@qq.com on 2017年7月4日

    在PHP编程中,在遍历数组的时候经常需要先计算数组的长度作为循环结束的判断条件,而在PHP里面对数组的操作是很频繁的,因此count也算是一个常用函数,下面研究一下count函数的具体实现。 我在github有对PHP源码更详细的注解。感兴趣的可以围观一下,给个star。PHP5.4源码注解。可以通过commit记录查看已添加的注解。 count int count ( mixed $array_or_countable [, int $mode = CO

    阅读全文...