1、PHP 也提供了另外一种方式给变量赋值:引用赋值。这意味着新的变量简单的引用(换言之,"成为其别名" 或者 "指向")了原始变量。改动新的变量将影响到原始变量,反之亦然。
使用引用赋值,简单地将一个 & 符号加到将要赋值的变量前(源变量)。例如,下列代码片断将输出"My name is Bob"两次:
<?php
$foo = 'Bob'; // 将 'Bob' 赋给 $foo
$bar = &$foo; // 通过 $bar 引用 $foo
$bar = "My name is $bar"; // 修改 $bar 变量
echo $bar;
echo $foo; // $foo 的值也被修改
?>
2、还有一个表达式,如果没有在别的语言中看到过的话,可能看上去很奇怪,即三元条件运算符:
$first ? $second : $third
如果第一个子表达式的值是
TRUE
(非零),那么计算第二个子表达式的值,其值即为整个表达式的值。否则,将是第三个子表达式的值。3、
PHP 支持引用赋值,使用"$var = &$othervar;"语法。引用赋值意味着两个变量指向了同一个数据,没有拷贝任何东西。
Example #1 引用赋值
<?php
$a = 3;
$b = &$a; // $b 是 $a 的引用
print "$a
"; // 输出 3
print "$b
"; // 输出 3
$a = 4; // 修改 $a
print "$a
"; // 输出 4
print "$b
"; // 也输出 4,因为 $b 是 $a 的引用,因此也被改变
4、
PHP 支持 C 风格的前/后递增与递减运算符。
Note: 递增/递减运算符不影响布尔值。递减
NULL
值也没有效果,但是递增NULL
的结果是 1。
例子 | 名称 | 效果 |
---|---|---|
++$a | 前加 | $a 的值加一,然后返回 $a。 |
$a++ | 后加 | 返回 $a,然后将 $a 的值加一。 |
--$a | 前减 | $a 的值减一, 然后返回 $a。 |
$a-- | 后减 |
返回 $a,然后将 $a 的值减一。 |