【5】插播:深入理解PHP原理之变量结构
最近访问本帖者列表:flashroad
访问时间:2018-09-28 14:53 | ||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||
我们已经知道PHP是一种弱语言,也就是在PHP编程中,我们并不关注PHP中变量的类型,这点和C语言这种强类型语言有非常大的区别。
但是PHP是由C来实现的,这是不是有点戏剧化呢,哈哈~~若仔细研究PHP内部的实现细节,其实还挺有意思的,下面初步看一下PHP中对不同类型变量的申明:
对于这些不同的数据类型,PHP是怎样进行识别的呢? 下面让我们看看PHP中变量在内核中的存储结构,该结构主要由结构体zval和联合体zvalue_value组成,至于结构体和联合体的区别,网上教程很多,在此就不多说,下面让我们看看这两个结构是怎么使用的【在楼下:)】。 | |
zvalue_value.lval会记录bool和integer的数值,zvalue_value.dval会记录float或double类型的数值,然后zvalue_value.str会记录一个字符串,结构如下:
| |