V. Array 陣列函數

簡介

本類函數容許用多種方法來動作陣列和與之互動。陣列的本質是儲存,管理和動作一組變量。

PHP 支援一維和多維陣列,可以是會員建立或由另一個函數建立。有一些特定的資料庫處理函數可以從資料庫查詢中建立陣列,還有一些函數返回陣列。

參見手冊中的陣列一節關於 PHP 是怎樣實現和使用陣列的詳細解釋。參見陣列運算符一節關於怎樣動作陣列的其它方法。

需求

要編譯本增加模組無需外部庫檔案。

安裝

本增加模組作為 PHP 內核的一部分,無需安裝即可使用。

運行時配置

本增加模組在 php.ini 中未定義任何配置選項。

資源類型

本增加模組未定義任何資源類型。

預定義常量

以下常量作為 PHP 核心的一部分一直有效。

CASE_LOWER (integer)

CASE_LOWER 用在 array_change_key_case() 中將陣列的鍵名轉換成小寫字母。這也是 array_change_key_case() 的預設值。

CASE_UPPER (integer)

CASE_UPPER 用在 array_change_key_case() 中將陣列的鍵名轉換成大寫字母。

排序順序標識:

SORT_ASC (integer)

SORT_ASC 用在 array_multisort() 函數中,使其升冪排序。

SORT_DESC (integer)

SORT_DESC 用在 array_multisort() 函數中,使其降冪排序。

排序類型標識:用於各種排序函數

SORT_REGULAR (integer)

SORT_REGULAR 用於對物件進行通常比較。

SORT_NUMERIC (integer)

SORT_NUMERIC 用於對物件進行數值比較。

SORT_STRING (integer)

SORT_STRING 用於對物件進行字串比較。

SORT_LOCALE_STRING (integer)

SORT_LOCALE_STRING 基於現用的區功能變數來對物件進行字串比較。PHP 4.4.0 和 5.0.2 新加。

COUNT_NORMAL (integer)

COUNT_RECURSIVE (integer)

EXTR_OVERWRITE (integer)

EXTR_SKIP (integer)

EXTR_PREFIX_SAME (integer)

EXTR_PREFIX_ALL (integer)

EXTR_PREFIX_INVALID (integer)

EXTR_PREFIX_IF_EXISTS (integer)

EXTR_IF_EXISTS (integer)

EXTR_REFS (integer)

參見

參見 is_array()explode()implode()split()preg_split()unset()

【譯者注】本章中出現的「關聯陣列」或「結合陣列」指的是鍵名為字串的陣列,「索引」和「鍵名」指的是同一樣東西。「索引」多指陣列的數字形式的下標。

目錄
array_change_key_case -- 返回字串鍵名全為小寫或大寫的陣列
array_chunk -- 將一個陣列分割成多個
array_combine --  建立一個陣列,用一個陣列的值作為其鍵名,另一個陣列的值作為其值
array_count_values -- 統計陣列中所有的值出現的次數
array_diff_assoc -- 帶索引檢查計算陣列的差集
array_diff_key -- 使用鍵名比較計算陣列的差集
array_diff_uassoc -- 用會員提供的回呼函數做索引檢查來計算陣列的差集
array_diff_ukey -- 用回呼函數對鍵名比較計算陣列的差集
array_diff -- 計算陣列的差集
array_fill -- 用給定的值填充陣列
array_filter --  用回呼函數過濾陣列中的單元
array_flip -- 交換陣列中的鍵和值
array_intersect_assoc -- 帶索引檢查計算陣列的交集
array_intersect_key -- 使用鍵名比較計算陣列的交集
array_intersect_uassoc -- 帶索引檢查計算陣列的交集,用回呼函數比較索引
array_intersect_ukey -- 用回呼函數比較鍵名來計算陣列的交集
array_intersect -- 計算陣列的交集
array_key_exists -- 檢查給定的鍵名或索引是否存在於陣列中
array_keys -- 返回陣列中所有的鍵名
array_map --  將回呼函數作用到給定陣列的單元上
array_merge_recursive -- 遞歸地合併一個或多個陣列
array_merge -- 合併一個或多個陣列
array_multisort -- 對多個陣列或多維陣列進行排序
array_pad --  用值將陣列填補到指定長度
array_pop -- 將陣列最後一個單元跳出(出棧)
array_product -- 計算陣列中所有值的乘積
array_push --  將一個或多個單元壓入陣列的末尾(入棧)
array_rand --  從陣列中隨機取出一個或多個單元
array_reduce -- 用回呼函數迭代地將陣列簡化為單一的值
array_reverse --  返回一個單元順序相反的陣列
array_search --  在陣列中搜尋給定的值,若果成功則返回相應的鍵名
array_shift --  將陣列開頭的單元移出陣列
array_slice -- 從陣列中取出一段
array_splice --  把陣列中的一部分去掉並用其它值取代
array_sum --  計算陣列中所有值的和
array_udiff_assoc -- 帶索引檢查計算陣列的差集,用回呼函數比較資料
array_udiff_uassoc -- 帶索引檢查計算陣列的差集,用回呼函數比較資料和索引
array_udiff -- 用回呼函數比較資料來計算陣列的差集
array_uintersect_assoc -- 帶索引檢查計算陣列的交集,用回呼函數比較資料
array_uintersect_uassoc -- 帶索引檢查計算陣列的交集,用回呼函數比較資料和索引
array_uintersect -- 計算陣列的交集,用回呼函數比較資料
array_unique -- 移除陣列中重複的值
array_unshift --  在陣列開頭插入一個或多個單元
array_values -- 返回陣列中所有的值
array_walk_recursive -- 對陣列中的每個成員遞歸地套用會員函數
array_walk -- 對陣列中的每個成員套用會員函數
array --  新增一個陣列
arsort --  對陣列進行逆向排序並保持索引關係
asort -- 對陣列進行排序並保持索引關係
compact --  建立一個陣列,內含變量名和它們的值
count -- 計算陣列中的單元數目或物件中的屬性個數
current -- 返回陣列中的現用的單元
each --  返回陣列中現用的的鍵/值對並將陣列指標向前搬移一步
end --  將陣列的內定指標指向最後一個單元
extract -- 從陣列中將變量匯入到現用的的符號表
in_array -- 檢查陣列中是否存在某個值
key -- 從關聯陣列中取得鍵名
krsort -- 對陣列按照鍵名逆向排序
ksort -- 對陣列按照鍵名排序
list --  把陣列中的值賦給一些變量
natcasesort --  用「自然排序」算法對陣列進行不區分大小寫字母的排序
natsort --  用「自然排序」算法對陣列排序
next --  將陣列中的內定指標向前搬移一位
pos -- current() 的別名
prev -- 將陣列的內定指標倒回一位
range --  建立一個包括指定範圍單元的陣列
reset --  將陣列的內定指標指向第一個單元
rsort -- 對陣列逆向排序
shuffle -- 將陣列打亂
sizeof -- count() 的別名
sort -- 對陣列排序
uasort --  使用會員自訂的比較函數對陣列中的值進行排序並保持索引關聯
uksort --  使用會員自訂的比較函數對陣列中的鍵名進行排序
usort --  使用會員自訂的比較函數對陣列中的值進行排序