函数之外声明的变量拥有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>