1、在函数中的作用域/范围:
<?php
$first="第一个";
function testInfo(){
$first="我是方法内部的第一个变量"; //函数内的变量,函数外访问不到
echo $first; //在函数内部,访问不到函数外部的变量, 获取的是当前函数内的
}
echo $first;
echo "<br/ > <br/>";
testInfo();
?>
在函数内外都可以访问的话,需要先把它们都改成 “全局变量” 才行,修改有以下几种方法;
一、global
PHP 有三种不同的变量作用域:
global(全局) local(局部) static(静态)
$first=1;
function testInfo(){
global $first; //这里指的就是上面、函数外部定义的$first,函数内部进行的操作都是同一个变量
$first ++;
echo $first;
}
testInfo(); //输出 2
二、$GLOBALS 引用全局作用域中可用的全部变量
它是一个关联数组,每一个变量为一个元素,键名对应变量名,值对应变量的内容。$GLOBALS 之所以在全局范围内存在,是因为 $GLOBALS 是一个超全局变量。
$first=11;
function testInfo(){
$GLOBALS["first"] ++; //将外部的11 + 1
}
testInfo();
echo $first; //输出 12
三、其他超全局变量
$GLOBALS $_SERVER $_REQUEST $_POST $_GET
$_FILES $_ENV $_COOKIE $_SESSION
具体的可以点击以下地址了解:
http://www.w3school.com.cn/php/php_superglobals.asp
function testInfo(){
echo $_POST['name']; //超全局变量在函数内外都可以直接用
}
testInfo();
echo '<br/> <br/>';
echo $_POST['name']; //超全局变量在函数内外都可以用直接用
显示信息: