PHP 數組函數API

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值爲 TRUEin_array() 函數還會檢查 needle 的類型是否和 haystack 中的相同
  • 返回值:如果找到 needle 則返回 TRUE,否則返回 FALSE

14. 在數組中搜索給定的值,如果成功則返回首個相應的鍵名

  • 語法:mixed array_search(mixed $needle, array $haystack [, bool $strict=false])
  • 參數:needle待搜索的值,如果是字符串,則比較是區分大小寫。strict值爲 TRUEin_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同時接受鍵名和鍵值
  • 返回值:返回過濾後的數組

 

 

 

 

 

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章