PHP变量 可变变量 引用变量

猫斯基  — PHP


变量是用于临时存储值的容器。这些值可以是数字、文本或者复杂的排列组合。

PHP 是一种非常弱的类型语言。变量的类型是根据该变量的值决定的。

PHP 不要求使用变量前声明变量;当第一次给变量赋值时,才创建了这个变量。

PHP 的变量名称是以 $ 符号开始的,后面紧跟大小写字母、数字或下划线,但不能以数字开头;区分大小写(驼峰式命名)。

$a = 1;
$b = 'aaa';
$c = true;
$d = 0.99;
$e = $a;
$f = $g = $h = $i = 'value';
$oneTwoThree = 'ddd';

变量相关函数

函数 unset() 释放指定的变量,
函数 isset() 检测变量是否设置,
函数 empty() 检查变量是否为空。
函数 var_dump() 输出。

可变变量

一个可变变量获取了一个普通变量的值,作为这个可变变量的变量名。

$hello = 'one';
$$hello = 'two'; // $$hello = $one
$$$hello = 'three'; // $$$hello = $$two
$$$$hello = 'four'; // $$$$hello = $three

echo $hello; // one
echo $$hello; // two
echo $$$hello; // three
echo $$$$hello; // four

echo $one; // two
echo $three; // four
echo ${$two}; // three
echo $abc$two; // error,错误。$符号必须紧挨着。

引用变量

1、只有变量才有地址。即:只有变量才能引用。
2、一个变量的值发生变化,另一个变量的值也会变化。

$a = 10;
$b = 20;
$c = &$a; // 引用变量。& 是取址符,取地址的符号。从此,变量 c 相当于变量 a 的别名;它们的值始终一致。
echo $c; // 10
$a = 100;
echo $a; // 100
echo $c; // 100
$c = 500;
echo $a; // 500
echo $c; // 500

3、在使用 unset() 函数时,如果有引用关系,则只是解除了引用关系。即:删除一个变量名,另一个变量名和值还在。

$a = 10;
$b = &$a;
unset($a);
if ( isset($b) ) { echo '变量b存在'; } else { echo '变量b不存在'; } // 变量b存在
if ( isset($a) ) { echo '变量a存在'; } else { echo '变量a不存在'; } // 变量a不存在
echo $b; // 10 变量b的值还在

4、如果两个变量是引用关系,一个变,另一个也变;但如果给其中一个引用赋的值,不是普通的值,而是一个变量(新的引用),则改变之前的引用关系。

$a = 10; 
$b = &$a; // 变量 a 和 b 确立引用关系
$c = 100;
$b = &$c; // 变量 a 和 b 断开引用关系,变量 b 和 c 确立引用关系
$b = 1000;

echo $a; // 10
echo $b; // 1000
echo $c; // 1000

阅读量:0 2020-09-23 10:20

返回顶部