PHP 变量范围
PHP 变量范围
在 PHP 中,变量可以在脚本的任何位置声明。
变量的范围是脚本中可以引用/使用该变量的部分。
PHP 有三种不同的变量作用域:
- 当地的
- 全球的
- 静止的
全局和局部范围
变量声明 外部 函数具有全局作用域,只能在函数外部访问:
例子
具有全局范围的变量:
<?php
$x = 5; // 全局范围
函数 myTest() {
// 在此函数中使用 x 将产生错误
回显<p>函数内部的变量 x 是:$x</p> “;
}
我的测试();
回显<p>函数外部的变量 x 是:$x</p> “;
?>
亲自尝试 »
变量声明 之内 函数具有本地范围,只能在该函数内访问:
例子
具有局部作用域的变量:
<?php
函数 myTest() {
$x = 5; // 本地范围
回显<p>函数内部的变量 x 是:$x</p> “;
}
我的测试();
// 在函数外使用 x 将产生错误
回显<p>函数外部的变量 x 是:$x</p> “;
?>
亲自尝试 »
您可以在不同的函数中拥有同名的局部变量,因为局部变量仅被声明它们的函数识别。
PHP global 关键字
这 global
关键字用于从函数内部访问全局变量。
为此,请使用 global
变量前的关键字(函数内部):
PHP 还将所有全局变量存储在名为 $GLOBALS[index]
。 这 index
保存变量的名称。此数组也可从函数内部访问,并可用于直接更新全局变量。
上面的例子可以重写如下:
例子
<?php
$x = 5;
$y = 10;
函数 myTest() {
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}
我的测试();
echo $y; //输出 15
?>
亲自尝试 »
PHP static 关键字
通常,当一个函数完成/执行时,它的所有变量都会被删除。但是,有时我们不想删除局部变量。我们需要它来完成进一步的工作。
为此,请使用 static
第一次声明变量时的关键字:
然后,每次调用该函数时,该变量仍然会包含上次调用该函数时包含的信息。
笔记: 该变量对于函数来说仍然是局部的。