[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( ) --> 用給定的值填充數組