blazar 实验楼
-
全局变量
全局变量通常使用关键字
global
来声明<?php $a = 1; $b = 2; function sum() { global $a, $b; $b = $a + $b; } sum(); echo $b;
结果输出 3。在函数中声明了全局变量 $a 和 $b 之后,对任一变量的所有引用都会指向其全局版本。对于一个函数能够声明的全局变量的最大个数,PHP 没有限制。
在全局范围内访问变量的第二个办法,是用特殊的 PHP 自定义 $GLOBALS 数组。前面的例子可以写成:
<?php
$a = 1;
$b = 2;
function sum()
{
$GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}
sum();
echo $b;
通过传参实现了函数调用外部变量,接下来使用 global 关键字
编辑 /home/shiyanlou/variable.php
<?php
$hi = 'Hi';
$hello = 'Hello';
function sayHi()
{
global $hi;
echo $hi;
}
function sayHello($hello)
{
echo $hello;
}
sayHi();
sayHello($hello);
执行 php variable.php
对a与a 与a与a的解析,是从最右边开始解析。最后生成a 的解析,是从最右边开始解析。最后生成a的解析,是从最右边开始解析。最后生成前一个值为名称的变量。
如:
<?php
$a = 'hello';
$$a = 'world';
var_dump($a,$hello);
结果输出
string(5) "hello"
string(5) "world"
上例中动态设置了一个变量 $hello,通常多个 $ 会依次从最后边开始解析,最后生成 $ 前一个值为名称的变量。
编辑 /home/shiyanlou/test.php
<?php
$a = 'b';
$b = 'c';
$c = 'd';
$$$$a = 'bcd';
var_dump($d);
执行 php test.php