扫盲 2026.10.13 19:12 21 次浏览 0 条评论

PHP全局局部变量

PHP 的变量作用域就三条:函数外面定义的是全局变量,函数里面定义的是局部变量,默认互相看不见。

函数一执行完,里面的局部变量就销毁。想在函数里用外面的全局变量,加 global 声明,或者直接用 $GLOBALS 超全局数组,后者不容易搞混。

还有 static 静态局部变量,函数调用完不清零,下次进来还记着上次的值,做计数器很方便。

<?php
$name = "传奇";            // 全局变量,函数外定义的

function a() {
    // echo $name;         // 报错,函数里读不到外部变量
}

function b() {
    global $name;          // 先声明,才能用
    echo $name;            // 输出:传奇
}

function c() {
    echo $GLOBALS['name']; // 不用 global 的另一种写法
}

function count1() {
    static $i = 0;         // 静态变量,调用完不清零
    $i++;
    echo $i;
}
count1(); // 1
count1(); // 2

标签:PHP,变量作用域,全局变量

说点什么 0

行思随记

欢迎来到:行思随记