多年以来我是
PHP开发人员,但我不知道
PHP如何在后台处理变量及其类型.我的意思是:在PHP – 理论上 – 我可以使用相同的变量存储一个整数,然后一个字符串,然后一个布尔值,然后一个数组…等…
就个人而言,我不喜欢这种“糟糕的”编程方式,但是我想知道如何PHP可以按照我的要求存储和管理变量及其类型.我想像解释器后面创建和处理C变量,但是我无法弄明白如何.
谢谢.
PHP变量存储在一个“zval”结构中,该结构由变量可存储的所有数据类型之间的联合组成(例如,long,double,string指针/长度,对象指针…),以及联盟外的其他几个领域,指明哪种类型,并跟踪引用计数.
有一些进一步的讨论:
http://devzone.zend.com/317/extension-writing-part-ii-parameters-arrays-and-zvals/