您的位置:首页 > 编程语言 > PHP开发

PHP变量作用域小结

2016-06-10 14:32 477 查看
变量是用来存储信息的“容器”,PHP变量中有这几个规则:以$符号开始,后面接着变量的名称;变量名必须以字母或下划线字符开始;变量名只能包含字母数字字符及下划线;变量名区分大小写;

变量作用域是指脚本中变量可被引用或使用的部分。PHP有四种不同的变量作用域:static  parameter global local.

局部和全局作用域(loacal  global)

在所有函数外定义的变量拥有全局作用域,在函数内部声明的变量是局部变量,仅能在函数内部访问。要在一个函数中使用全局变量,需要使用global关键字。//使用global关键字
<?php
$x=10;
$y=20;
function test(){
global $x,$y;
$y=$x+$y;
}
test();
echo $y;//输出30
//全局变量局部变量
<?php
$x=5; // 全局变量

function myTest()
{
$y=10; // 局部变量
echo "<p>测试函数内变量:<p>";
echo "变量 x 为: $x"; //输出错误 Notice: Undefined variable:
echo "<br>";
echo "变量 y 为: $y";
}

myTest();

echo "<p>测试函数外变量:<p>";
echo "变量 x 为: $x";
echo "<br>";
echo "变量 y 为: $y";  //输出错误 Notice: Undefined variable:
PHP将所有的全局变量存储在一个数组中,名为 $GLOBALS[index] 的数组中。
index 保存变量的名称。

static作用域

当一个函数完成时,它的所有变量通常都会删除,如果期望某个局部变量不被删除,在第一次声明变量时使用static关键字。

<?php
function test(){
static $y=1;
echo $y;
$y++;
}
echo test(); //1
echo test(); //2
echo test();


parameter作用域

参数是通过调用代码将值传递给函数的局部变量。<?php

function myTest($x)
{
echo $x;
}

myTest(5);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: