PHP 变量的四大作用域

PHP 变量作用域

  • local
  • global
  • static
  • parameter

局部作用域、全局作用域

<?php
$x = 50; // 全局变量

function myTest()
{
    $y = 100; // 局部变量
} 

PHP global 关键字

global 关键字用于函数内访问全局变量。
在函数内调用函数外定义的全局变量,可以在函数中的变量前加上 global 关键字。

<?php
$x = 50;
$y = 100;

function myTest()
{
    global $x, $y;
    $y = $x + $y;
}
myTest();
echo $y;  // 输出 150

PHP 将所有全局变量存储在一个名为 $GLOBALS 的数组中。

所以上述代码可以换一种写法:

<?php
$x = 50;
$y = 100;

function myTest()
{
    $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
} 

myTest();
echo $y;

PHP Static 作用域

PHP 当一个函数完成时,它的所有变量通常都会被删除。为了有些局部变量不被删除,可以在第一次声明变量的时候使用 static 关键字。

<?php
function myTest()
{
    static $x = 0;
    echo $x;
    $x++;
    echo PHP_EOL;
}

myTest();
myTest();
myTest();

参数作用域(形参)

参数声明作为函数声明的一部分。

<?php
function myTest($x)
{
    echo $x;
}
myTest('Galois');
myTest(8888);

小补充:

打印数组方式:

echo '<pre>';
print_r($arr);
php
本作品采用《CC 协议》,转载必须注明作者和本文链接
不要试图用百米冲刺的方法完成马拉松比赛。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!