欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

为什么php里的变量不需要特意声明?

程序员文章站 2022-05-11 12:20:01
...
问题如题,php里不需要声明变量,那系统知道什么是变量并且给变量分配空间是根据$来分辨的吗?它不需要声明变量是因为php是弱类型语言吗?

回复内容:

问题如题,php里不需要声明变量,那系统知道什么是变量并且给变量分配空间是根据$来分辨的吗?它不需要声明变量是因为php是弱类型语言吗?

php的底层C是由一个联合体union来存储变量,这个联合体里面有各种变量类型,php都以long类型来存储整型,用hashtable哈西表来存储数组,因为union可以存储各种变量,并且解释器会自动判定变量类型,所以php不用声明变量类型,弱类型

是的,因为php是弱类型语言,所以不需要声明变量类型即可使用。。

$只是个语法糖,表示后面跟的是一个变量。。

如果按照内存空间分配来解释的话

  • 弱类型的变量在分配内存空间时,这个内存空间可以存储任何类型的变量。使用的时候需要查找所有的内存区域

  • 而强类型则按照变量类型分配在指定的内存中,不可直接转换类型。使用的时候直接去该类型的区域中找到该值。

所以一般在弱类型语言中改变变量类型可以直接修改。。但是强类型语言不能直接修改,所以强类型语言的指针概念特别重要,我们不直接使用内存中的数据,我们创建一个引用型变量(指针),如果想修改的时候直接修改指针指向的内存地址就可以。

相关标签: php