1. 將數組中的所有鍵名修改爲大寫或小寫
- 語法:array array_change_key_case(array $array[, int $case=CASE_LOWER])
- 參數:case可以在這兩用兩個常量,CASE_UPPER或CASE_LOWER(默認值)
- 返回值:返回一個鍵全是大寫或者全是小寫的數組,如果$array不是一個數組,則返回false
2. 將一個數組分割成多個(其中每個數組的單元數目由size決定。最後一個數組單元數目可能會少於size個)
- 語法:array array_chunk(array $array, int $size[, bool $preserve_keys=false])
- 參數:preserve_keys設爲true,可以保留數組中原來的鍵名,如果爲false,每個數組將從零開始新的數字索引
- 返回值:到的數組是一個多維數組中的單元,其索引從零開始,每一維包含了size個元素
3. 返回數組中指定的一列(返回input
數組中鍵值爲column_key
的列, 如果指定了可選參數index_key
,那麼input
數組中的這一列的值將作爲返回數組中對應值的鍵)--PHP5.5新增
- 語法:array array_column(array $input, mixed $column_key [, mixed $index_key = null])
- 參數:input:需要取出數組列的多維數組。如果提供的是包含一組對象的數組,只有 public 屬性會被直接取出。 爲了也能取出 private 和 protected 屬性,類必須實現 __get() 和 __isset() 魔術方法。column_key:需要返回值的列。它可以是數組列索引、關聯數組列的鍵、也可以是屬性名。也可以是null,此時將返回整個數組。index_key:作爲返回數組的索引/鍵的列,也可以是該列的整數索引,或者字符串的鍵值。
- 返回值:從多維數組中返回單列數組。
4. 創建一個數組,用一個數組的值作爲其鍵名,另一個數組的值作爲其值
- 語法:array array_combine(array $keys, array $values)
- 參數:$keys,$values,非法的值將會被轉換爲字符串類型
- 返回值:返回合併的 array,如果兩個數組的單元數不同則返回
FALSE
5. 合併一個或多個數組
- 語法:array array_merge(array $array1[, array $array2...])
- 參數:array1...要合併的數組
- 返回值:返回結果數組
6. 遞歸地合併一個或多個數組(將一個或多個數組的單元合併起來,一個數組中的值附加在前一個數組的後面。返回作爲結果的數組)
- 語法:array array_merge(array $array1[, array $array2...])
- 參數:...,數組變量列表,進行遞歸合併
- 返回值:一個結果數組,其中的值合併自附加的參數。
7. 使用傳遞的數組替換第一個數組的元素
- 語法:array array_replace(array $array1, array $array2 [, array $...])
- 參數:array1替換該數組的值,array2從此數組中提取替換值,...更多數組,後面數組的值會覆蓋前面的值
- 返回值:返回一個數組。如果發生錯誤,將返回 null
8. 使用傳遞的數組遞歸替換第一個數組的元素
- 語法:array array_replace_recursive(array $array1, array $array2 [, array $...])
- 參數:同array_replace
- 返回值:同array_replace
9. 統計數組中值出現的次數
- 語法:array array_count_values(array $array)
- 參數:統計這個數組的值(該值只能爲integer或者string類型)
- 返回值:返回一個關聯數組,用
array
數組中的值作爲鍵名,該值在數組中出現的次數作爲值。
10. 返回數組中所有的值
- 語法:array array_values(array $array)
- 返回值:返回含所有的索引數組
11. 返回數組中部分的或所有的鍵名
- 語法:array array_keys(array $array [, mixed $search_value=null [, bool $strict=false]])
- 參數:search_value指定這個參數,只有包含這些值的鍵纔會返回。strict判斷在搜索的時候是否該使用嚴格的比較(===)
- 返回值:返回
input
裏的所有鍵
12. 檢查數組裏是否有指定的鍵名或索引(isset() 對於數組中爲 NULL
的值不會返回 TRUE
,而 array_key_exists() 會)
- 語法:bool array_key_exists(mixed $key, array $array)
- 參數:key要檢查的鍵,array一個數組,包含待檢查的鍵
- 返回值:成功返回true,失敗返回false
13. 檢查數組中是否存在某個值
- 語法:bool in_array(mixed $needle, array $haystack [, bool $strict = false])
- 參數:needle待搜索的值,如果是字符串,則比較是區分大小寫。haystack待搜索的數組。strict值爲
TRUE
則 in_array() 函數還會檢查needle
的類型是否和haystack
中的相同 - 返回值:如果找到
needle
則返回TRUE
,否則返回FALSE
14. 在數組中搜索給定的值,如果成功則返回首個相應的鍵名
- 語法:mixed array_search(mixed $needle, array $haystack [, bool $strict=false])
- 參數:needle待搜索的值,如果是字符串,則比較是區分大小寫。strict值爲
TRUE
則 in_array() 函數還會檢查needle
的類型是否和haystack
中的相同 - 返回值:如果找到
needle
則返回TRUE
,否則返回FALSE
15. 移除數組中重複的值
- 語法:array array_unique(array $array[, int $sort_flags=SORT_STRING])
- 參數:
sort_flags
可用於修改排序行爲。 SORT_REGULAR
- 按照通常方法比較(不修改類型)。SORT_NUMERIC
- 按照數字形式比較。SORT_STRING
- 按照字符串形式比較。SORT_LOCALE_STRING
- 根據當前的本地化設置,按照字符串比較- 返回值:返回過濾後的數組
16. 計算數組的差集
- 語法:array array_diff(array $array1, array $array2 [, $array $...])
- 參數:array1要被對比的數組,array2和這個數組進行比較
- 返回值:返回一個數組,該數組包括了所有在
array1
中但是不在任何其它參數數組中的值。注意鍵名保留不變
17. 帶索引檢查計算數組的差集
- 語法:array array_diff_assoc(array $array1, array $array2 [, array $...])
- 參數:同上array_diff
- 返回值:返回一個數組,該數組包含來自array1的所有值,這些值在任何其他數組中都不存在。
18. 用用戶提供的回調函數做索引檢查來計算數組的差集
- 語法:array array_diff_uassoc ( array
$array1
, array$array2
[, array$...
], callback$key_compare_func
) - 參數:由用戶提供的回調函數檢查兩個索引的相等性
function key_compare_func($a, $b)
{
if ($a === $b) {
return 0;
}
return ($a > $b)? 1:-1;
}
19. 帶索引檢查計算數組的差集,用回調函數比較數據
- 語法:array array_udiff_assoc ( array
$array1
, array$array2
[, array$...
], callback$value_compare_func
)
20. 用回調函數比較數據來計算數組的差集
- 語法:array array_udiff ( array
$array1
, array$array2
[, array$...
], callable$value_compare_func
)
21. 帶索引檢查計算數組的差集,用回調函數比較數據和索引
- 語法:array array_udiff_uassoc ( array
$array1
, array$array2
[, array$...
], callable$value_compare_func
, callable$key_compare_func
)
22. 計算數組的交集((string) $elem1 === (string) $elem2 時被認爲是相同的)
- 語法:array array_intersect ( array
$array1
, array$array2
[, array$...
] ) - 返回值:返回一個數組,該數組包含了所有在
array1
中也同時出現在所有其它參數數組中的值
23. 帶索引檢查計算數組的交集((string) $elem1 === (string) $elem2 時被認爲是相同的)
- 語法:array array_intersect_assoc ( array
$array1
, array$array2
[, array$...
] ) -
返回數組,該數組包含了所有在
array1
中也同時出現在所有其它參數數組中的值
24. 用給定的值填充數組
- 語法:array array_fill ( int
$start_index
, int$num
, mixed$value
) - 參數:start_index返回的是數組的第一個索引值,如果是負數,那麼返回的數組的第一個索引值會是start_index,後面索引則從0開始。num插入元素的數量,必需大於或等於0。value用來填充的值。
- 返回值:返回填充後的數組
25. 使用指定的鍵和值填充數組
- 語法:array array_fill_keys ( array
$keys
, mixed$value
) - 參數:keys使用該數組的值作爲鍵。非法值將被轉換爲字符串。
- 返回值:返回填充後的數組
26. 用回調函數過濾數組中的單元
- 語法:array array_filter ( array
$array
[, callable$callback
[, int$flag
= 0 ]] ) - 參數:callback使用的回調函數,如果沒有提供callback函數,將刪除array中所有等值爲false的條目。flag
ARRAY_FILTER_USE_KEY
-callback
接受鍵名作爲的唯一參數ARRAY_FILTER_USE_BOTH
-callback
同時接受鍵名和鍵值- 返回值:返回過濾後的數組