| 創建/填充 | array() / [] | 創建數組 | 短語法 [] 更推薦 |
range() | 生成範圍數組 | 支援字符、步長:range('a','z') |
array_fill() | 填充固定值 | array_fill(0, 5, 'x') |
array_pad() | 補齊指定長度 | 負索引補左側 |
| 鍵值操作 | array_keys() | 獲取所有鍵 | 可選搜索值 |
array_values() | 獲取所有值(重建索引) | 常用於重置數字索引 |
array_flip() | 交換鍵值 | 值重複會丟失,值必須為 int/string |
array_change_key_case() | 鍵名大小寫轉換 | CASE_LOWER/UPPER |
array_combine() | 兩數組合並為鍵值 | 長度必須相等 |
array_column() | 提取多維數組單列 | 神器:array_column($users, 'name', 'id') |
| 合併/拆分/切片 | array_merge() | 合併(字符串鍵後覆蓋、數字鍵重索引) | + 運算符保留首次鍵 |
array_merge_recursive() | 遞歸合併(同鍵值成數組) | 深度合併配置常用 |
array_slice() | 切片(不改原數組) | 負 offset 從末尾算 |
array_splice() | 剪切並可替換(改原數組) | 返回被移除元素 |
array_chunk() | 分塊 | 分頁處理大數組 |
explode() / implode() | 字符串⇄數組 | 別名 split() 已移除 |
| 查找/過濾 | in_array() | 值存在性 | 大數組用 isset($map[$val]) O(1) |
array_search() | 搜值返鍵 | 嚴格模式 true 防 "0" == 0 |
array_filter() | 回調過濾 | ARRAY_FILTER_USE_KEY/BOTH 可用鍵 |
array_unique() | 去重(保留首次鍵) | SORT_STRING/REGULAR/NUMERIC/LOCALE_STRING |
array_intersect() | 交集(保留鍵) | _key/_assoc/_uassoc 變體 |
| 排序 | sort()/rsort() | 值排序(重建索引) | SORT_NATURAL | SORT_FLAG_CASE 自然序 |
asort()/arsort() | 值排序(保留鍵) | |
ksort()/krsort() | 鍵排序 | |
usort()/uksort()/uasort() | 用戶自定義比較 | 太空船操作符 $a <=> $b 簡潔 |
array_multisort() | 多數組/多維排序 | 類 SQL ORDER BY |
| 堆疊/隊列 | array_push()/array_pop() | 棧尾進出 | $arr[] = $v 更快 |
array_unshift()/array_shift() | 棧頭進出 | 大數組頻繁操作考慮 SplQueue/SplStack |
array_reverse() | 反轉 | 第二參數 true 保留鍵 |
shuffle() | 打亂 | 改原數組,重建索引 |
array_rand() | 隨機取鍵 | 加密用途請用 random_int() |
| 計算/統計 | count()/sizeof() | 元素個數 | Countable 介面物件也適用 |
array_count_values() | 值頻次統計 | |
array_sum()/array_product() | 求和/求積 | |
array_reduce() | 歸約 | 函數式風格聚合 |
| 指針/遍歷 | current()/next()/prev()/reset()/end() | 內部指針操作 | 慎用:foreach 不影響指針,但函數式操作會 |
each() | 取當前鍵值並前進 | PHP 8.0 移除,改用 foreach |
list() | 解包賦值 | [$a, $b] = $arr 短語法 |
| 走訪/轉換 | array_map() | 映射 | 多數組並行映射 |
array_walk() | 遍歷修改(引用傳值) | 需 &$v 修改原值 |
array_walk_recursive() | 遞歸遍歷葉子節點 | 只處理非數組值 |