Global和LOCAL作用域

函数之外声明的变量拥有Global作用域,只能在函数以外进行访问

<html>
<head>
  <title>php</title>
  <meta charset="utf-8" />
</head>
<body>
<?php
$x=5;
function test(){
  $y=10;
  echo "<p>测试函数内部的变量$y</p>";//局部变量只能在函数内部被访问
  
  //echo $x;在这变量X不能被访问到,因为在函数外部声明的变量, 只能在函数外部调用!所以这种写法是错误的
}
test();
//echo $y;//局部变量在外部是不能被访问的
echo $x;
?>

</body>
</html>

 

函数内部声明的变量拥有LOCAL作用域,只能在函数内部进行访问

<html>
<head>
  <title>php 变量</title>
  <meta charset="utf-8" />
</head>
<body>
<?php
$x=5;
function test(){
  $y=10;
  echo "<p>测试函数内部的变量$y</p>";
  //echo $x;在这变量X不能被访问到,因为在函数外部声明的变量, 只能在函数外部调用!所以这种写法是错误的
}
test();
echo $x;
?>

</body>
</html>

PHP global 关键词

global 关键词用于访问函数内的全局变量。

要做到这一点,请在函数内部变量前使用Global关键词

 

<html>
<head>
  <title>php 变量</title>
  <meta charset="utf-8" />
</head>
<body>
<?php
$x=5;
function test(){
  $y=10;
  echo "<p>测试函数内部的变量$y</p>";
  //echo $x;在这变量X不能被访问到,因为在函数外部声明的变量, 只能在函数外部调用!所以这种写法是错误的
 //要想在这个地方可以访问到x,那么可以在变量X之前加上global关键字
  global $x;
  echo $x;
  echo "<br>";
 }
test();
echo $x;
?>

</body>
</html>

 

由上面输出的两个变量X可以看出来在变量前加上global之后,如果在函数内部对变量进行了修改的话,外部再次访问变量的时候变量值也会被修改!
<html>
<head>
  <title>php 变量</title>
  <meta charset="utf-8" />
</head>
<body>
<?php
$x=5;
function test(){
  $y=10;
  echo "<p>测试函数内部的变量$y</p>";
  //echo $x;在这变量X不能被访问到,因为在函数外部声明的变量, 只能在函数外部调用!所以这种写法是错误的
 //要想在这个地方可以访问到x,那么可以在变量X之前加上global关键字
  global $x;
  $x = $x+$y;
  echo $x;
  echo "<br>";
 }
test();
echo $x;//由上面输出的两个变量X可以看出来在变量前加上global之后,如果在函数内部对变量进行了修改的话,外部再次访问变量的时候变量值也会被修改!
?>

</body>
</html>

 

posted @ 2015-01-26 21:48  sandraBlog  阅读(396)  评论(0编辑  收藏  举报