第二章 变量

本文详细介绍了PHP中的变量概念,包括变量的声明、命名规则、可变变量、引用赋值及变量的作用域等内容。此外还讲解了如何检测和释放变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简而言之,变量是临时存储值的容器。(是程序中数据临时存放的场所)。php脚本语言是一种弱类型检查语言,和其他语言不同的是,变量、常量的数据类型是由程序的上下文决定。

一,变量的声明

$a = 100;  //声明一个变量$a,赋上一个整型100;
$key1 = $a; //声明一个变量$key1;将$a变量的值赋给它;
$a = $b = $c = $d = "value"; //同时声明多个变量,并赋上相同的值;

php的变量声明以后有一定的使用范围,变量的范围即它定义的上下文背景(也就是它的生效范围)。如果在函数里声明的变量,则只能在函数里用,外部声明的变量,函数
内不也不能用。如果不是在函数里面声明的,则不仅能在<?php ?>里使用,也可以在一个页面的所有开启PHP模式下使用,也包含了include和require引入文件。

在变量的使用范围内,

unset();// 释放指定的变量。
isset();// 检测变量是否被设置
empty();//检查一个变量是否为空。“”、0、“0”、NULL、FALSE、array()、var $var ,及没有任何属性的对象都被认为是空的,如果参数为空,则返回TRUE;

二,变量的命名

变量是严格区分大小写的,一个有效的变量名由字母或下划线开头,,后面跟上任意数量的字母、数字或者下划线。按照正常的正则表达式,可表述为:

'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'

但注意,变量名的标识符一定不以数字开头,中间不能使用空格,不能使用点分开等。

$4site = 'no'; //非法变量名,以数字开头
$_4site = 'yes';   //合法变量名,以下划线开头
$i站点site = 'yes';  //合法变量名,可以用中文

PHP中有一些标识符是系统定义的的,也称为关键字,它们时php语言的组成部分,因此不能使用它们的任何一个作为常量、函数名或类名。但是系统关键字可以在php中作为变量名使用,不过这样容易混淆,所以最好不用php关键字作为变量名称。
如果变量是一个单词构成,通常采用全部小写方式作为变量名。如果变量是由多个单词构成的,则第一个单词采用全部小写,以后每个单词首字母采用大写。如$myNameIsWangChen,函数命名也采用同样规则。

三,可变变量

一个变量的变量名可以动态的设置和使用。

$hi = "hello";
$$hi = "world";

echo "$hi $hello";  //输出两个单词  hello world
echo "$hi ${$hi}"; //输出两个单词  hello world

在上面的例子中。”hi”使用了两个$以后,就可以作为一个可变变量了。这时两个变量都被定义了,$hello的值是”world”。$$hi$hello 是等价的。

四,变量的引用赋值

引用赋值:新的变量简单地引用了(指向)原始变量。改变新的变量,将影响到原始变量,反之亦然。

$foo = "Bob"; //原始变量
$bar = &$foo; //将变量$foo的引用赋值给变量$bar

$bar = "My name is Tom";//改变$bar的值
echo $bar; //变量$bar的值改变,输出"My name is Tom"
echo $foo; //变量$foo的值改变,输出"My name is Tom"

$foo = "My name is Tom";//改变$foo的值
echo $bar; //变量$bar的值改变,输出"Your name is Bom"
echo $foo; //变量$foo的值改变,输出"Your name is Bom"

前提是只有两个有名字的变量才可以引用赋值。
$bar = &$foo;不会导致$bar和$foo在内存上同体,所以在执行unset()后,变量 $bar和$foo仅仅是相互取消关联,$foo并没有因为$bar的释放而消失。$bar也不会因为$foo的释放而消失。

$foo = 100; 
$bar = &$foo;
unset($bar);
echo $foo;//值为100
$foo = 100; 
$bar = &$foo;
unset($foo);
echo $bar;//值为100

五,变量的类型

变量的类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值