TearSnow

PHP引用赋值

<?php
$name = 'IGS.cc';
$youname = &$name;
$youname = "Your name is $youname";
echo "$name";
echo "$youname";
?>

变量默认总是传值赋值。那也就是说,当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量。这意味着,例如,当一个变量的值赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量。有关这种类型的赋值操作,请参阅表达式一章。

PHP 也提供了另外一种方式给变量赋值:引用赋值。这意味着新的变量简单的引用(换言之,“成为其别名” 或者 “指向”)了原始变量。改动新的变量将影响到原始变量,反之亦然。

使用引用赋值,简单地将一个 & 符号加到将要赋值的变量前(源变量)。例如,下列代码片断将输出“Your name is IGS.cc”两次: 

<?php
$name = 'IGS.cc';              // 将 'IGS.cc' 赋给 $name
$youname = &$name;              // 通过 $youname 引用 $name
$youname = "Your name is $name";  // 修改 $name 变量
echo $name;
echo $yourname;                 // $name 的值也被修改
?>

有一点重要事项必须指出,那就是只有有名字的变量才可以引用赋值。 <?php
$foo = 25;
$bar = &$foo;      // 合法的赋值
$bar = &(24 * 7);  // 非法; 引用没有名字的表达式

转载请注明本文地址: http://www.igs.cc/12/29/80/ | IGS's Blog


该日志由 IGS 于2015年12月29日发表在 PHP日志, 学习日志 分类下, 您可以发表不同观点
原创文章,转载请注明: PHP引用赋值 | IGS's Blog

PHP引用赋值:等您坐沙发呢!

发表评论

= 10 + 6 (防止机器人评论

快捷键:Ctrl+Enter