PHP底层分析
freedomai
这个作者很懒,什么都没留下…
展开
-
PHP编译特点
PHP代码的执行过程: 编译型语言: 对于C语言,C++, 编译成机器码(二进制)来运行. java语言, 把.java编译成 .class,称为bytecode, 由jvm来运行. 解释语言: 解释器解释执行. 典型的如 linux shell. 解释器逐行来执行命令. PHP稍有特殊之处,虽然是一个脚本语言,但不是靠解释器解释. 而是 zend 虚拟机,屏蔽了操作系统的区别原创 2014-10-03 22:55:42 · 392 阅读 · 0 评论 -
符号表 变量的花名册
符号表是符号表是一张哈希表, 里面存储了变量名->变量的zval结构体的地址 // zend/zend_globals.h 182行 struct _zend_executor_globals { ... ... HashTable *active_symbol_table; /*活动符号表*/ HashTable symbol_table原创 2014-10-04 10:30:01 · 559 阅读 · 0 评论 -
变量的底层实现
PHP变量是通过zval结构体来存储的 文件: Zend/zend.h 316行左右(PHP原创 2014-10-04 09:29:09 · 612 阅读 · 0 评论 -
传值赋值发生了什么
变量的赋值与引用: 注意: 在传值赋值时, 以: $a = 3 ; $b = $a为例, 并没有再次产生结构体,而是2个变量共用1个结构体. 此时,2个变量,指向同1个结构体, refcount_gc 值为2原创 2014-10-04 10:51:11 · 583 阅读 · 0 评论