为什么php里的变量不需要特意声明?
程序员文章站
2022-05-11 12:20:01
...
问题如题,php里不需要声明变量,那系统知道什么是变量并且给变量分配空间是根据$来分辨的吗?它不需要声明变量是因为php是弱类型语言吗?
回复内容:
问题如题,php里不需要声明变量,那系统知道什么是变量并且给变量分配空间是根据$来分辨的吗?它不需要声明变量是因为php是弱类型语言吗?
php的底层C是由一个联合体union来存储变量,这个联合体里面有各种变量类型,php都以long类型来存储整型,用hashtable哈西表来存储数组,因为union可以存储各种变量,并且解释器会自动判定变量类型,所以php不用声明变量类型,弱类型
是的,因为php是弱类型语言,所以不需要声明变量类型即可使用。。
$只是个语法糖,表示后面跟的是一个变量。。
如果按照内存空间分配来解释的话
弱类型的变量在分配内存空间时,这个内存空间可以存储任何类型的变量。使用的时候需要查找所有的内存区域
而强类型则按照变量类型分配在指定的内存中,不可直接转换类型。使用的时候直接去该类型的区域中找到该值。
所以一般在弱类型语言中改变变量类型可以直接修改。。但是强类型语言不能直接修改,所以强类型语言的指针概念特别重要,我们不直接使用内存中的数据,我们创建一个引用型变量(指针),如果想修改的时候直接修改指针指向的内存地址就可以。
。