PHP引用变量
常见引用变量面试题:
什么是引用变量?
在PHP中用什么符号定义引用变量?
考点:PHP的引用变量的概念及定义方式
概念:在PHP中引用意味着用不用的名字访问同一个变量内容
定义方式:&符号
延伸:PHP引用变量的原理
//定义一个变量
$a = range(0,100); //内存开辟一块空间存储$a
//定义变量b,将a变量赋值给b
//cow copy on write cow机制
$b = $a; //此时不会新开辟一块新空间存储$b
//当$a或$b发生改变 才会开辟一块新空间
$a = range(0,100); //开辟新空间存储新值 //应用变量
$b = &$a; //此时使用了引用变量 $a,$b同时指向一个变量空间
$a = range(0,100); //不会开辟新空间存储新值
//改变原空间值 $b随$a改变而改变
unset知识点:
//unset 只会取消引用 不会销毁内存空间 $a = 1; $b = &$a; //$b引用$a unset($b); //取消引用 echo $a; // 结果 1
对象引用知识点:
// 对象本身就是引用传递
class person{
public $name = "xiaomiaomiao";
} $p1 = new person(); //实例化person类 $p2 = $p1; //$p1 赋值 $p2 $p2->name = "xiaowangwang"; //p2修改name值 不会开辟新空间
引用变量例题
//写出如下程序输出的结果 $data = [ 'a', 'b', 'c' ]; foreach($data as $key = $v){ $val = &$data[$key]; } //程序运行时,每一次循环结束后变量$data的值是什么?
//程序执行完成后,变量$data的值是什么