- 零基础PHP学习笔记
- 明日科技编著
- 1111字
- 2021-03-12 20:19:16
2.5 PHP变量
把一个值赋给一个名字,例如把值“明日科技小助手”赋给$name,$name就称为变量。在大多数编程语言中,都把这种情况称为“把值存储在变量中”。在计算机内存中的某个位置,字符串序列"明日科技小助手"已经存在。你不需要知道它们到底在哪里,只需要告诉PHP这个字符串序列的名字是$name,从现在开始就要通过这个名字来引用这个字符串序列。这个过程就像快递存放处一样,内存就像一个巨大的货物架,在PHP中使用变量就像给快递贴标签,如图2.3所示。
顾客的快递存放在货物架上,上面贴着写有编号的标签。当顾客来取快递时,并不需要知道它们存放在这个大型货架的具体位置,只需要提供编号,快递员就会把快递交送到顾客手上。实际上,顾客的快递可能并不在原先所放的位置,不过快递员会记录快递的位置,要取回顾客的快递,只需要提供顾客的编号即可。变量也一样,你不需要知道信息存储在内存中的哪个位置,只需要记住存储变量时所用的名字即可。
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/051-1.jpg?sign=1738931773-zfy6TNYNfzoAkxLJlsf3l3D6rWgmWxMt-0-8fb4cec06abbc72d96b50d38af60cc0f)
图2.3 货物架中贴着标签的快递
2.5.1 变量赋值及使用
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-051-02.jpg?sign=1738931773-MqAFO5zWZKE58qVah4LPJTuSx7GNBeWf-0-fa786dfcba369f647d87110a8922f8f2)
在PHP中使用变量之前不需要声明变量(PHP 4之前需要声明变量),只需为变量赋值即可。PHP中的变量名称用“$+标识符”表示。标识符是由字母、数字和下画线组成的,并且不能以数字开头。另外,变量名是区分大小写的。
变量赋值是指给变量赋予一个具体的数据值,对于字符串和数字类型的变量,可以通过“=”来实现,其格式为:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/051-2.jpg?sign=1738931773-LVxXvBG7dolgKOWzbJBrajPD4KLYdLmj-0-3ef77f6da0f13e8a9ba65f6745e5f331)
对变量命名时,要遵循变量命名规则。下面的变量命名是合法的:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/051-3.jpg?sign=1738931773-ILlDmVThfvMMMjtSYF1kWcdWqpz7zzzc-0-a92366df47969c60360f3237310eac8e)
下面的变量命名则是非法的:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/051-4.jpg?sign=1738931773-f2wgOnRUunUjyltYeUjcQOgYtLxErYBj-0-807b0a789c6d3b7ca077616d0832e589)
除了直接赋值,还有两种方式可以为变量赋值。一种是变量间的赋值,变量间的赋值是指赋值后两个变量使用各自的内存,互不干扰,代码如下:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/052-1.jpg?sign=1738931773-va2ZelrMi6Yr90Yl9bIixRD6TE8QGyGo-0-032c3942b821468e86060f92fa566633)
结果如下:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/052-2.jpg?sign=1738931773-QpVvGOrk6ItGPgf08fR8xtFKULXqotyz-0-02a6759758315666be8265d18d284572)
变量间的赋值就像在网上买了一个商品,一天后又下单买了相同的商品。这样在快递存放处就有两个一样的快递,这两个快递占用两个不同的货架位置,互不干扰。
另一种是引用赋值。从PHP 4开始,PHP引入了引用赋值的概念。引用赋值的概念是用不同的名字访问同一个变量内容,当改变其中一个变量的值时,另一个变量的值也跟着发生变化。使用&符号来表示引用,例如,变量$j是变量$i的引用,当给变量$i赋值后,$j的值也跟着发生变化。代码如下:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/052-3.jpg?sign=1738931773-N66XOcmQOEMWp8OYc9I9rDushaVkgqMM-0-bcf8136184e310035612f955385070ec)
结果如下:
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/052-4.jpg?sign=1738931773-dREkyqTSCTLeIGJPHzT4AbsU4BSQmtez-0-c7d52886c853c022336aaa0be879f127)
引用赋值就像在填写快递信息时,为避免和因重名被别人误取快递,在“收货人”位置上写了两个名字,一个是真名,另一个是昵称。尽管是两个名字,但却是同一个商品,占用同一个货架。
学习笔记
复制和引用的区别在于:复制是将原变量的内容复制下来,开辟一个新的内存空间来保存,而引用则是给变量的内容再取一个名字。
2.5.2 PHP预定义变量
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/40266-00-053-01.jpg?sign=1738931773-XUCMqoP3vogEFn9zZY2Q6ykPghpHoX69-0-ae83f2849134a4526dc8c50f15f09240)
PHP还提供了很多非常实用的预定义变量,通过这些预定义变量可以获取用户会话、用户操作系统的环境和本地操作系统的环境等信息。常用的预定义变量如表2.5所示。
表2.5 常用的预定义变量
![](https://epubservercos.yuewen.com/7E78CA/19471983208811306/epubprivate/OEBPS/Images/053-1.jpg?sign=1738931773-uDOYSy5N7QhBK1crJZ748JTlkryuwHQp-0-682aaec51e65f3ccbff6c351adeabb83)