[TOC] ## 【数组】相关函数 > [ 数组函数参考](http://php.net/manual/zh/ref.array.php) > ### 超全局数组 1. $_SERVER 服务器变量 2. $_GET 3. $_POST 4. $_REQUEST > 可以接受get和post提交的数据,缺点:如果出现了POST和GET提交的同名的属性,那么$_REQUEST会使用POST提交的覆盖GET提交的,从而导致数据丢失。 5. $_COKIT 6. $_SESSION 7. $GLOBALS * * * * * ### 数组的常用处理函数 #### 验证码生成 * range array_merge() array_rand shuffle(打乱) #### 数组的键/值操作函数 * array_values( ) 返回数组中的所有 值 * array_keys( ) 返回数组中的所有键 * in_array( ) 数组中是否存在某个值(bool) * is_array() 检测变量是否是数组 * array_search( ) 数组中是否存在某个值(返回 键名) * array_key_exists( ) 数组中是否存在某个键(bool) * array_flip( ) 交换数组中的键和值 * array_reverse( ) 置反 #### 统计数组元素的个数与唯一性 * count( ) * array_count_values( ) 统计所有值出现的个数 * array_unique( ) 移除数组中重复的值 #### 使用回调函数处理数组的函数 * array_filter( $arr ,fun( value ){ }) 用回调过滤数组中的单元 * array_map( fun(val1 , val2){ } , $arr1 , $arr2); #### 拆分、合并、分解与结合数组 * array_slice( arr,int ) --> 截取数组中一段 * array_splice( arr,int ) --> 把数组中的一部分去掉并用其他值取代 * array_combine( arr keys,arr values ) --> 创建一个数组,用一个数组的值作为其键名key,另一个数组的值作为其值value * array_merge( arr ) --> 数组合并(关联数组会覆盖) * array_intersect( arr1 , arr2) --> 获取两个数组的’交集‘ * array_diff( arr1 , arr2) --> 获取两个数组的’差集‘ #### 数组与数据结构 * array_push( arr,值1,值2... ) --> 压入栈点(先进后出) * array_pop( arr) --> 弹出栈点 * array_unshift( arr,值1,值2...) --> 压入队列(先进先出) * array_shift( arr) --> 弹出队列 #### 其他有用的数组处理函数 * array_rand( arr ) --> 随机从数组中取出一个或多个单元(返回的是下标key) * shuffle( arr ) --> 将数组打乱 * array_sum( arr ) --> 计算数组中所有值总和 * range( ) --> 建立一个包含指定范围单元的数组 * array_fill( ) --> 用给定的值填充数组