在 PHP 中,可以在脚本的任意位置对变量进行声明。
变量的作用域指的是变量能够被引用/使用的那部分脚本
*****************************************************************************************************************
*****************************************************************************************************************
<?php
$a=180;
$b=123;
function int()//新建一个叫int的函数
{global $a;//设置变量a的作用域,b没有设置
echo $a;
echo "<hr>";
echo "$b"; //没有声明b的作用局,该行报错,而且无法输出
}
int();//输出函数
echo $a;
echo "<hr>";
echo $b;
?>
注意:函数以外的声明变量,在函数内部需要用,就要在函数内声明global 变量。
<?php
$x=100;//全局作用域
function DEMO()
{
$y=200;//local作用域,内部声明只能在函数内使用
echo "函数内部测试:<br>";
echo "变量x= $x \n";
echo "变量y= $y \n";
}
DEMO();
echo "函数之外测试:<br>";
echo "变量x= $x \n";
echo "变量y= $y \n";
注意:函数之外的global作用域只能外部用,函数内部声明的变量(local作用域),只能函数内部执行使用。
<?php
function demo()
{
static $a=0;//定义static静态作用域,否则函数内调用一次呗删除,不要删除时定义static
echo "$a";
$a++;
}
demo();
echo "<br>";
demo();
echo "<br>";
demo();
echo "<br>";
demo();
echo "<br>";
demo();
注意:函数内部的变量,被函数内部调用或者执行一次后,会被删除,如果继续函数内部调用的话,可以在声明变量时候声明变量的作用域static(静态),没有定义则,只能被调用一次,定义static,可以函数内部多次调用,但是还是local内部作用域,在函数之外还是无法调用。