PHP 數(shù)組是一個(gè)用于存儲(chǔ)多個(gè)值的數(shù)據(jù)結(jié)構(gòu)。以下是一些常用的 PHP 數(shù)組操作方法:
-
創(chuàng)建數(shù)組:
- array():創(chuàng)建一個(gè)空數(shù)組。
- array(mixed $values):通過(guò)傳遞一個(gè)或多個(gè)值來(lái)創(chuàng)建數(shù)組。
- array_fill(int $startIndex, int $length, mixed $value):用指定的值填充數(shù)組的指定范圍。
- array_create_from_iterable(iterable $iterable):從可迭代對(duì)象創(chuàng)建數(shù)組。
-
獲取數(shù)組長(zhǎng)度:
- count($array):返回?cái)?shù)組中的元素?cái)?shù)量。
-
訪問(wèn)數(shù)組元素:
- $array[$key]:通過(guò)鍵名訪問(wèn)數(shù)組元素。
- $array[0]:訪問(wèn)數(shù)組中的第一個(gè)元素(整數(shù)索引)。
- $array[‘key’]:通過(guò)鍵名訪問(wèn)數(shù)組元素(字符串索引)。
-
添加和刪除元素:
- array_push($array, mixed $value):將一個(gè)或多個(gè)值添加到數(shù)組末尾。
- array_unshift($array, mixed $value):將一個(gè)或多個(gè)值添加到數(shù)組開(kāi)頭。
- unset($array[$key]):刪除指定鍵名的數(shù)組元素。
- array_splice($array, int $offset, int $length, mixed $replacement):從數(shù)組中刪除、替換或添加元素。
-
合并數(shù)組:
- array_merge(array $array1, array $array2, …):合并一個(gè)或多個(gè)數(shù)組。
- array_merge_recursive(array $array1, array $array2, …):遞歸合并數(shù)組,處理嵌套數(shù)組時(shí)會(huì)將它們合并為一個(gè)新數(shù)組。
-
查找數(shù)組元素:
- array_search(mixed $value, array $array):在數(shù)組中查找指定值的鍵名。
- in_array(mixed $value, array $array):檢查數(shù)組中是否存在指定的值。
-
數(shù)組排序:
- sort($array):對(duì)數(shù)組進(jìn)行升序排序。
- rsort($array):對(duì)數(shù)組進(jìn)行降序排序。
- asort($array):對(duì)數(shù)組進(jìn)行升序排序并保留鍵名。
- arsort($array):對(duì)數(shù)組進(jìn)行降序排序并保留鍵名。
- ksort($array):對(duì)數(shù)組按鍵名進(jìn)行升序排序。
- krsort($array):對(duì)數(shù)組按鍵名進(jìn)行降序排序。
-
數(shù)組分割和連接:
- array_chunk(array $array, int $size, bool $preserve_keys):將數(shù)組分割為指定大小的多個(gè)子數(shù)組。
- array_column(array $array, string $column_key):從數(shù)組的指定列中獲取所有值。
- array_combine(array $keys, array $values):使用兩個(gè)數(shù)組作為鍵和值組合成一個(gè)新的數(shù)組。
- array_count_values(array $array):統(tǒng)計(jì)數(shù)組中每個(gè)值出現(xiàn)的次數(shù)。
- array_diff(array $array1, array $array2, array $array3, …):返回兩個(gè)或多個(gè)數(shù)組之間的差異。
- array_diff_assoc(array $array1, array $array2, array $array3, …):返回兩個(gè)或多個(gè)數(shù)組之間的差異,考慮鍵名。
- array_diff_key(array $array1, array $array2, array $array3, …):返回兩個(gè)或多個(gè)數(shù)組之間的差異,僅考慮鍵名。
- array_diff_uassoc(array $array1, array $array2, callable $callback):返回兩個(gè)或多個(gè)數(shù)組之間的差異,考慮鍵名,并使用回調(diào)函數(shù)比較值。
- array_intersect(array $array1, array $array2, array $array3, …):返回兩個(gè)或多個(gè)數(shù)組的交集。
- array_intersect_assoc(array $array1, array $array2, array $array3, …):返回兩個(gè)或多個(gè)數(shù)組的交集,考慮鍵名。
- array_intersect_key(array $array1, array $array2, array $array3, …):返回兩個(gè)或多個(gè)數(shù)組的交集,僅考慮鍵名。
- array_intersect_uassoc(array $array1, array $array2, callable $callback):返回兩個(gè)或多個(gè)數(shù)組的交集,考慮鍵名,并使用回調(diào)函數(shù)比較值。
- array_key_exists(mixed $key, array $array):檢查數(shù)組中是否存在指定的鍵名。
- array_keys(array $array):返回?cái)?shù)組中所有的鍵名。
- array_map(callable $callback, array $array):將回調(diào)函數(shù)應(yīng)用于數(shù)組的每個(gè)元素并返回結(jié)果數(shù)組。
- array_pad(array $array, int $size, mixed $value, bool $pad_with_key):使用指定值填充數(shù)組至指定長(zhǎng)度。
- array_pop($array):刪除并返回?cái)?shù)組的最后一個(gè)元素。
- array_shift($array):刪除并返回?cái)?shù)組的第一個(gè)元素。
- array_slice(array $array, int $offset, int $length):返回?cái)?shù)組中指定范圍的元素。
- array_sum(array $array):計(jì)算數(shù)組中所有值的總和。
- array_values(array $array):返回?cái)?shù)組中所有值的一個(gè)新數(shù)組,保持鍵名不變。
- array_walk(array $array, callable $callback):對(duì)數(shù)組的每個(gè)元素應(yīng)用回調(diào)函數(shù)。
- array_walk_recursive(array $array, callable $callback):對(duì)數(shù)組中的每個(gè)元素遞歸應(yīng)用回調(diào)函數(shù)。
這些僅僅是 PHP 數(shù)組操作的一部分方法,更多方法可以參考 PHP 官方文檔。