PHP变量的引用赋值和可变变量

PHP 3 中,变量总是传值赋值。那也就是说,当将一个表达式的值赋予一个变量时,整个原始表达式的值被赋值到目标变量。这意味着,例如,当一个变量的值赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量。而在PHP 4 中提供了另外一种方式给变量赋值:引用赋值。这意味着新的变量简单的引用(换言之,“成为其别名” 或者 “指向”)了原始变量。改动新的变量将影响到原始变量,反之亦然:

<?php  
$domain = 'mzwu.com';
$domain_b = &$domain;

echo $domain_b."<br/>";

$domain = '163.com';
echo $domain_b."<br/>";

$domain_b = '126.com';
echo $domain."<br/>";
?>

可变变量可以获取了一个普通变量的值作为这个可变变量的变量名,就是说,一个变量的变量名可以动态的设置和使用:

<?php  
$str = 'domain';
$$str = 'mzwu.com';

echo ${$str}."<br/>";
echo $domain."<br/>"; //和上面是一样的
?>

注意,在 PHP 的函数和类的方法中,超全局变量不能用作可变变量。

评论: 0 | 引用: 0 | 查看次数: 5482
发表评论
登录后再发表评论!