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

WBOY
发布: 2016-10-11 14:23:47
原创
1444 人浏览过

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

回复内容:

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

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

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

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

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

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

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

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

相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板