变量:能够改变的量就是变量。变量就是一只无形的手,想抓什么就抓什么,抓到什么就是什么。
$a = $b;
变量的引用:不同的变量名指向统一地址。
格式:就是在变量或者函数、对象等前面加上&符号
<?php
//普通引用赋值
$a = 'abc';
$b = &$a;
echo $b; //结果就是abc
========================
$a = 'edf';
echo $b; //结果是edf
//函数引用赋值
function test(&$a){
$a = $a+100;
}
$b = 1;
test($b);
echo $b; //结果是101 这是将函数的变量$a变成$b,然后在运算
?>
列入一个例子:
例题:
写出如下程序的输出结果:
<?php
$data = ['a','b','c'];
foreach($data as $key=>$val){
$val = &$data[$key];
}
问:最终$data的值是多少?
$data = ['a','b','c'];
foreach($data as $key=>$val){
$val = &$data[$key];
print_r($data);
}
/*
1.$key = 0,
$val = 'a',
$val = &$d[0] =>'a'
$data = ['a','b','c'];
2.$key = 1,
$val = 'b', =>$d[0]
$val = &$d[1] =>'b'
$data = ['b','b','c'];
1.$key = 2,
$val = 'c', =>$d[1]
$val = &$d[2]=>'c'
$data = ['b','c','c'];
*/