一、全局变量:在整个作用域中均有效。
<?php
$a=23; //全局变量;
function test() {
//使用全局变量$a,不加这句则程序的输出结果为23;
global $a;
$a=45;
}
test();
echo $a; //输出结果为45
?>
二、超全局变量:除了具备全局变量的特点外,在使用的时候无需声明、直接使用。
$_SERVER['hsp'] = "韩顺平"; //用户可以使用超全局变量的关键字;
echo "<pre>;
echo print_r($_SERVER); //超全局变量是系统预定好的,使用时无需声明、直接调用;
echo "</pre>;
php提供了九种超全局变量:
- $_GET
- $_POST
- $_REQUEST
- $_SERVER
- $_ENV
- $_FILE
- $_COOKIE
- $_SESSION
- $GLOBALS
三、超全局变量$_GET的原理:通过URL参数传递给当前脚本的变量的数组;
基本用法:客户机(浏览器)通过超链接、表单传送信息给服务器(但我们推荐用POST提交表单数据)。
注:
(1)浏览器一旦接受到 apache 服务器返回的静态页面,就将整个链接断开、释放资源;
(2)若多人同时访问 a.php,则会对 apache 服务器造成较大负荷。
四、php上传数据:
1、text.php
<?php
echo "<a href='a.php?city=北京好&name=xiaoming'>传送数据</a>"; //给 a.php 设置 city 属性设置为 beijing,name 设置为 xiaoming。
?>
2、a.php(接收数据)
<?php
echo "<pre>";
echo print_r($_GET);
echo "</pre>";
//如果希望制定取出某个数据,则可以通过下标名访问;
echo $_GET['name'];
?>
3、ie5.5、ie6浏览器传入奇数个汉字的时候将会出现乱码,解决方案:
(1)在汉字尾部加一个全角空格;在服务器段接收的时候用 trim() 函数将字符串的两端的空格去掉;
(2)使用 urlencode 和 urldecode 函数。