PHP自学之路------超全局变量
来源:互联网 发布:银魂中空知大猩猩 编辑:程序博客网 时间:2024/05/27 09:44
什么是超全局变量
下面先了解什么是全局变量,看下面的例子“
<?php //全局标量,因为该变量作用于在整个文件中,都是可见的 $a=23;function test(){//但是在函数中并不能使用到全局$a,如果想使用需要加下面的一句 // global $a;// A $a=45;}test();echo $a;?>
当A标识段落被注释时,输出 23;
当没有被注释时,输出45;
那么什么是超全局变量
超全局变量除了有全局变量的特性外,还有可以无需声明直接使用,看下面的例子
<?php //超全局变量$_SERVER['jsh'] = "阿辉";echo "<pre>";print_r($_SERVER);echo "</pre>"?>
输出是会输出 [jsh]="阿辉”,也会被打印出来,但是仅限于这个文件中。如何换个文件将不会被打印
总结如下:
1、 PHP中许多预定义变量都是超全局的,这意味着他们在一个脚本的全部作用域都都可以用,在函数或方法中无需执行 global $variable;来访问他们 。
2、 PHP设计者提供这些超全局数组的目的是为了让PHP程序员可以更方便的编写程序
PHP提供了九种:
1、$_GET
通过URL参数传递给当前脚本的变量的数组
Ø 基本用法:
1、 客户机(浏览器)通过超链接传送信息给服务器(默认使用get方式)
2、客户机(浏览器)通过扁担传送信息给服务器(但是我们推荐表单用Post提交 )实现流程如下:
具体实例:
get.php
<?php echo "<a href='a.php?city=beijing&name=jsh'>传送数据</a>";?>
a.php
<?php echo "<pre>";print_r($_GET);echo "</pre>";//我们可以使用下面方法分别获得他们的数据if(empty($_GET['name'])){ echo "没有收到";}else{ echo $_GET['name']."<br/>";}if(empty($_GET['city'])){ echo "没有收到";}else{ echo $_GET['city']."<br/>";}?>
测试结果:
Array( [city] => beijing [name] => jsh)jshbeijing
2、$_POST
通过http:post方式提交的数据,会被封装到$_POST超全局数据中
Ø 基本用法:
1客户机(浏览器)通过表单传送消息给服务器并且需要书用POST方式,有些数据的提交必须使用Post,比如上传文件。。看下面的示例:
post.html
<html><head><!--<meta http-equiv="content-type" content="text/html;charset=utf-8"/>--></head><h1>用户注册</h1><form action="./post.php" method="post">用户名:<input type="text" name="username"/><br/>密码:<input type="text" name="passwd"/><br/>性别:<input type="radio" name="sex" value="women"/>女 <input type="radio" name="sex" value="man"/>男<br/>你喜欢什么:<input type="checkbox" name="hobby[]" value="唱歌">唱歌 <input type="checkbox" name="hobby[]" value="游泳">游泳 <input type="checkbox" name="hobby[]" value="骑马">骑马 <input type="checkbox" name="hobby[]" value="跳舞">跳舞<br/>个人介绍:<textarea rows="5" name="intro" cols="20"></textarea><br/>上传图片:<input type="file" name="1.swd"/><br/> <input type="submit" value="提交"/></form></html>post.php
<?php //超全局变量Post使用echo "<pre>"; //print_r($_POST);$name=$_POST['username'];$pwd=$_POST['passwd'];$sax=$_POST['sex'];$hobby=$_POST['hobby']; echo "$name $pwd $sax <br/>";print_r($hobby); $text=$_POST['intro'];echo $text;?>
post 和get 区别:
1、 安全性 post >get
2、数据长度要求[浏览器控制] post >get
3、保存到收藏夹 get方便
3、$_REQUST
定义$_REQUSR 中可以包含 GETPOST COOKIE数组的信息
也就是说既可以接收getpost 请求和Cookie。
<?php //REQUEST使用echo "<pre>";print_r($_REQUEST);echo "</pre>";//如何去除某个值,和get post方法一样//$_REQUEST 既可以接受Get 请求数据,也可以接受Post Cookie//所以这个变量,比较不可信,不建议使用echo $_REQUEST['aa'];//如果不确定get/postif($_SERVER['http_method'] == "post'){ echo $_POST['aa'];}else if ($_SERVER['http_method'] == "get'){ echo $_GET['aa'];}?>
4、$_SERVER
前面的章节已经讲过,这里就不再多说了!具体看 http://blog.csdn.net/jsh13417/article/details/8975828。
5 $_ENV
默认已经禁用了,这里也不再讲解了。
6 其他
$_FILE 与文件上传有关。
$_COOKIE 与Cookie相关
$SESSION 与Session 相关,这几个超全局数据功能强大,同时也比较复杂,暂时也不介绍!
- PHP自学之路------超全局变量
- PHP初学之超全局变量
- PHP 全局变量 - 超全局变量
- php学习之php全局变量学习记录,超全局变量
- PHP超全局变量之$_GETT和$_POST
- PHP基础知识之九个超全局变量
- 15. PHP 全局变量 - 超全局变量
- PHP 全局变量 - 超全局变量解读
- PHP 全局变量 – 超全局变量
- PHP 超全局变量详解
- PHP 超全局变量
- PHP 超全局变量详解
- PHP超全局变量
- PHP超全局变量
- php中的超全局变量
- PHP超全局变量
- PHP超全局变量:$_SERVER
- PHP 超全局变量
- hdu 1021
- /etc/hosts与/etc/resolv.conf
- 区域划分问题总结
- 编程求解字符串中每个字母出现的次数
- 你应该知道的C语言预处理
- PHP自学之路------超全局变量
- 献给正在打拼的人
- 程序人生--一个程序员对学弟学妹建议(转载)
- 状态压缩dp学习小记part2
- 抗锯齿方法paint.setAntiAlias(ture);paint.setFilterBitmap(true))
- 对人,还是对事?
- Data Structure(1)
- 《C陷阱与缺陷》
- poj 3252 Round Numbers 数位DP or 组合数学