跳到主要内容

PHP 变量

PHP 中,变量是指用一个美元符号 $ 作为前缀的标识符。

$user
$age
$IS_DEBUG

// 变量可以存放任意类型的值,编译或运行时,没有类型检查。
$var1 = 1;
$var1 = 2.0;
$var1 = "some—string";
$var1 = array('L', 'K');

// 变量不需要显式声明,在第一次赋值时,变量会被创建。
$seconds_per_day = 60 * 60 * 24

变量的变量

$name = "likun"
$$name = "a man"

// 以下显示 "a man"
echo $likun;

变量的引用

$a = 'likun';

// $b 成为了 $a 的指针或别名
$b =& $a;

// 销毁 $a
unset($a);

print $b;
// 显示 likun

变量的作用域

PHP 中变量第一次出现的位置决定了变量的作用域,一共有4种:局部作用域、全局作用域、静态变量和函数参数。

局部作用域

function updateAge()
{
$age++;
}

$age = 40;
updateAge();

// 以下将显示 40
echo $age;

PHP 中不能创建作用域是条件分支、循环的局部变量。这是个细节。

最简单的处理方式是条件分支、循环中定义的变量,后面不要再用。

全局作用域

function updateAge()
{
global $age;
$age++;
}

$age = 40;
updateAge();

// 以下将显示 41
echo $age;

静态变量

静态变量在函数中被多次调用时,值不会丢失,但变量仅在函数内可见。

function updateAge()
{
static $age = 0;
$age++;

echo "{$age}<br />";
}

$age = 40;

updateAge();
updateAge();
echo $age;

以上将显示

1
2
40

函数参数

函数参数只在函数内部有效。