Rumah > pembangunan bahagian belakang > tutorial php > 为什么php里的变量不需要特意声明?

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

WBOY
Lepaskan: 2016-10-11 14:23:47
asal
1468 orang telah melayarinya

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

回复内容:

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

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

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

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

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

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

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

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

Label berkaitan:
php
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan