找回密码
 立即注册
搜索
热搜: 生活 中国

变量作用域

[复制链接]
admin 发表于 2013-6-11 23:23:49 | 显示全部楼层 |阅读模式
变量变用域就是指变量在哪些范围能被使用,在哪些范围不能使用。php中有3种变量作用域,分别为局部变量、全局变量和静态变量。
1.局部变量
局部变量就是在函数的内部定义的变量,其作用域是所在函数。
例:定义一个名为eample()的函数,然后分别在该函数内部及函数外部定义输出变量a的值。
<html>
<head>
<title>变量作用域</title>
</head>
<body>
<?php
function example(){
$a="hello php!"; //在自定义函数example()中定义变量a
echo "在函数内部定义的变量a的值为:".$a."<br>";
}
example();
$a="hello china!"; //在函数外部定义变量a
echo "在函数外部定义的变量a的值为: ".$a."<br>";
?>
</body>
</html>
2.全局变量
全局变量就是被定义在所有函数以外的变量,其作用域是整个php文件,但是在用户自定义函数内部是不可用的。想在用户自定义函数内部使用全局变量,要使用global关键词声明。
例:定义一个全局变量,并且在函数内部输出全局变量的值。
<html>
<title>全局变量</title>
<body>
<?php
$a="hello php!";//在自定义函数外部声明一个变量a
function eample(){//自定义一个函数,名为example
  global $a; //使用global关键词声明并使用在函数外部定义的变量a
  echo"在函数内部获得变量a的值为:".$a."<br>";
  }
  eample();
  ?>
</body>
</html>
3.静态变量
通过全局变量的理解,可以知道在函数内部定义的变量,在函数调用结束后,其变量将会失效。但有时仍然需要该函数内的变量有效,此时就需要将变量声明为静态变量,声明静态变量只需在变量前加“static”关键词即可。
例:下面分别在函数内声明静态变量和定义局部变量。
<html>
<title>静态变量</title>
<body>
<?php
function example(){
  static $a=10;//定义静态变量
  $a+=1;
  echo "静态变量a的值为: ".$a."<br>";
  }
  function zy(){
     $b=10;//定义局部变量
     $b+=1;
     echo "局部变量b的值为: ".$b."<br>";
     }
  example();//一次执行该函数体
  example();//二次执行该函数体
  example();三次执行该函数体
  zy();//一次执行该函数体
  zy();//二次执行该函数体
  zy();//三次执行该函数体
  ?>
</body>
</html>
4.可变变量
可变变量是一种独特的变量,这种变量的名称是由另外一个变量值来确定的,声明可变变量的方法是在变量名称前加两个“$”符号。
<html>
<title>可变变量</title>
<body>
<?php
$a="mrkj";//定义变量
$$a="bccd";//声明可变变量,该变量名称为变量a的值
echo $a."<br>";//输出变量a
echo $$a."<br>";//输出可变变量
echo $mrkj;//输出变量mrkj
?>
</body>
</html>

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生活导航|生活导航 ( 新ICP备12003026-1号 )

GMT+8, 2024-5-9 06:58 , Processed in 0.075214 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表