1 9大超全局数组(Superglobal)
(1)三大数据接收
$_GET
用来获取地址栏(超链接)传递过来的数据
$_POST
获得HTTP协议下 POST 方式提交过来的
ps:(
区别:
1,提提交的方式不同,$_GET 通过地址栏传递,$_POST 通过表单传递
2,传递的内容大小,$_GET方式提交,地址栏不能大于2K,$_POST理论上没有大小限制
3,最主要的区别:$_GET 由于通过地址栏传递,不安全 $_POST相对来说比较安全
最安全的还是通过数据加密:md5加密 md5()
)
$_REQUEST
超全局数组,既可以获得 $_GET 提交过来的数据,又可以获得$_POST方式提交过来的数据
在实际中,如果能明确使用 什么提交方式就使用对应的获取方式
因为 $_REQUEST 需要判断 具体提交的方式,解析速度比较慢
(2)环境
$_ENV
是一个包含服务器端环境变量的数组。它是 PHP 中一个超级全局变量,我们可以在 PHP 程序的任何地方直接访问它。
你的php.ini的variables_order值为"GPCS",也就是说系统在定义PHP预定义变量时的顺序是GET,POST,COOKIES,SERVER,没有定义Environment(E),你可以修改php.ini文件的variables_order值为你想要的顺序,如:"EGPCS"。这时,$_ENV的值就可以取得了
EGPCS值(EGPCS是Environment、Get、Post、Cookies、Server的缩写 -- 这是PHP中外部变量来源的全部范围)
(3)服务
$_SERVER
和服务器相关的变量
SERVER_NAME 服务器的主机名
SERVER_ADDR 服务器的ip地址
SERVER_PORT 服务器的端口
REMOTE_ADDR 访问服务器的用户的ip地址
DOCUMENT_ROOT 服务器的根目录
SERVER_NAME服务器的名称
127.0.0.1 指的是 服务器端的ip地址
192.168.2.1 指的是 我们的电脑接入 以太网 之后给我们分配的网络的ip地址
$_FILES:上传
$_COOKIE..
Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的
一种方式。Cookie 是由Web服务器保存在用户浏览器上的小文本文件,它可以包含有关用户的信息(如身份
识别号码、密码、用户在Web站点购物的方式或用户访问该站点的次数)。无论何时用户链接到服务器,Web
站点都可以访问Cookie信息
$_SESSION..
$GLOBALS
一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
以下是一些关于array的函数例子
<?php
/*---//Array_values() 返回数组中所有的值,并返回数字索引(对关联直接干预)-----*/
$arr=array('name'=>'mark','sex'=>'male','like'=>'fish');
echo "<pre>";
print_r(Array_values($arr));
echo "<pre>";
echo "<br/>";
echo "<hr/>";
/*------------------返回数组中所有的键名------------------------------------------*/
$arr2=array('name'=>'mark','sex'=>'male','like'=>'fish');
echo "<pre>";
print_r(Array_keys($arr2,'fish',true));//第二参为匹配键的值,第三参为匹配类型
echo "<pre>";
echo "<br/>";
echo "<hr/>";
/*---------------------In_array()查找数组中是否存在对应值---------------------------------------*/
$arr3=array('name'=>'mark','sex'=>'male','like'=>'fish');
var_dump(in_array('male',$arr3));//第一参为查找值,第二参为查找组,第三参为匹配类型
echo "<br/>";
echo "<hr/>";
/*---------------Array_key_exists匹配键值是否存在---------------------------------------------*/
$arr4=array('name'=>'mark','sex'=>'male','like'=>'fish');
echo "<pre>";
print_r(Array_key_exists('name',$arr4));//返回值不是bool 而是1或NULL ,对null类型会返回true
echo "<pre>";
echo "<br/>";
echo "<hr/>";
/*------------------Array_flip()交换数组中的键值------------------------------------------*/
$arr5=array('mark','male','fish');
echo "<pre>";
print_r(Array_flip($arr5));//索引交换时直接交换键值//
echo "<pre>";
echo "<br/>";
echo "<hr/>";
/*------------------Array_reverse()颠倒数组顺序------------------------------------------*/
$arr6=array('name'=>'mark','sex'=>'male','like'=>'fish');
echo "<pre>";
print_r(Array_reverse($arr6));
echo "<pre>";
echo "<br/>";
echo "<hr/>";
/*------------------------------------------------------------*/
<?php
/*----------------------count------------------------------*/
$arr=array(1,2,3,4,5,6,'7'=>array(2,4,6,8,10));
echo count($arr,true);//二参递归遍历数组值个数
echo "<br/>";
echo "<hr/>";
/*---------------array_unique()除去重复参-------------------------------------*/
$arr2=array('name'=>'jenny','holiday'=>'jenny','gender'=>'male','hobby'=>'swim');
echo "<pre>";
print_r(array_unique($arr2));//除参顺序按照顺序输出
echo "</pre>";
/*----------------------------------------------------*/