实习记录(一)--php超全局变量$_GET
2016-03-17 23:58
351 查看
php超全局变量问题
———-
首先 重要的事情说三遍:超全局变量是数组!
超全局变量是数组!!
超全局变量师叔祖!!!!
———-
(1)全局变量与局部变量
php中的变量分为: - 局部变量 - 全局变量 - 超全局变量
其中,局部变量只在函数内部有人认识,除了函数的花括号{ //巴拉巴拉 }之外,就无法调用。
而全局变量,个人感觉应该叫伪全局变量,因为这个和java中的变量定义有所不同,它在花括号内部的花括号默认是不可见的,如果想在内部的花括号内(即函数内)使用全局变量,需要使用关键字global来声明一下,哪里来的全局之意。
<?php $a = 11111; function testGlobal() { echo $a; //会报错哦,哼 global $a = 0; echo $a; //结果为0 }?>
(2)超全局变量
而超全局变量则不同,它在脚本域内都是可用的,而且不用定义,已经规定好了包含的类型:$_GET
$_POST
$_REQUEST
$_SERVER
$_ENV
$_FILE
$_COOKIE
$_SESSION
$GLOBAL(注意:这个变量没有下划线)
然而,为什么要规定这些呢,当然是为了开发人员提供方便啦,另外,他还可以完成其他的功能。
其中,有几个小技巧:
直接打印超全局变量可以看到其中到底有什么内容和其中的参数<?php echo '$_GET'; ?>
可以直接向超全局变量中加入自己定义的参数并赋值,但是一个脚本文件对GET自定义的值,在另一个脚本文件里是不可用的,这是因为,当浏览器打开一个超链接时,会通过http协议向apache服务器传递数据,而apache会帮你调用php处理模块来把这些数据打包成数组,而这个数组就是_GET自定义的值,在另一个脚本文件里是不可用的,这是因为,当浏览器打开一个超链接时,会通过http协议向apache服务器传递数据,而apache会帮你调用php处理模块来把这些数据打包成数组,而这个数组就是_GET数组,而当一个脚本结束以后,那些调用和传递的数据都会消失,所以当另一个脚本执行时,上一个自定义的参数会消失不见,自然无法使用,啦啦啦。
<?php $_GET["lalala"] = "nber"; echo "$_GET["lalala"]"; ?>
================================
今天内容=>$_GET
======================$_GET:通过 url参数 传递给当前脚本变量的 数组
哎呀,什么是url参数?来来来,标注的部分中,“?”后面的就是url参数
https://www.baidu.com/s
?ie=utf8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=php&……
其中,每个参数用&来隔开,其中ie啊,f啊,rsv_dp啊就是url参数
也就是说,当浏览器发送一个get请求的时候,会在url中加上参数,而$_GET就是用来储存这些参数的数组,但是这种方式传递参数明显不安全,解决办法是使用POST变量。
$_GET基本用法
浏览器通过超链接发送的数据提交表单得到的数据(但是最好还是用POST)
相关文章推荐
- php如何 使用多线程?
- Matplotlib快速绘图
- Matplotlib快速绘图
- PHP流程控制之条件结构
- php递归求阶乘
- PHP 数组
- PHP Switch 语句
- Laravel 验证
- php的一些小笔记--字符串
- PHP 字符串变量
- PHP session文件锁住及解决
- 【PHP】microtime 与 time 函数介绍
- php读取zip注释
- Matplotlib 图例中文显示(大小修改)
- PHP中的命名空间
- php文件修改后刷新没反应不生效的原因
- php 获取中文的拼音
- php cli模式没有加载php.ini
- Ubuntu 14.04 FTP服务器--vsftpd的安装和配置
- php获取客户端IP