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