| 函数 |
作用 |
示例 |
count() |
统计元素个数 |
count($arr) |
in_array() |
判断值是否存在 |
in_array(3, $arr) |
array_search() |
查值返回 key |
array_search("a",$arr) |
array_push() |
末尾压入 |
array_push($arr, 1, 2) |
array_pop() |
弹出末尾 |
|
array_shift() |
弹出开头 |
|
array_unshift() |
开头插入 |
|
| 函数 |
作用 |
foreach |
最常用遍历方式 |
current() |
当前元素 |
next() |
指针后移 |
prev() |
指针前移 |
reset() |
指针回到第一个 |
end() |
指针到最后 |
示例:
foreach ($arr as $k => $v) {
echo $k, " => ", $v;
}
| 函数 |
作用 |
array_slice() |
截取数组 |
array_splice() |
删除 / 替换一段 |
array_chunk() |
拆成多个小数组 |
示例:
array_slice([1,2,3,4], 1, 2); // [2,3]
| 函数 |
作用 |
说明 |
array_merge() |
合并数组 |
数字键会重排 |
array_merge_recursive() |
递归合并 |
|
+ 运算符 |
合并数组 |
保留左边 key |
array_combine() |
key+value 组合成数组 |
|
array_keys() |
取所有 key |
|
array_values() |
取所有 value |
|
| 函数 |
作用 |
sort() |
值升序,重排 key |
rsort() |
值降序 |
asort() |
值升序,保留 key |
arsort() |
值降序,保留 key |
ksort() |
按 key 升序 |
krsort() |
按 key 降序 |
usort() |
自定义排序(值) |
uasort() |
自定义排序(保留 key) |
uksort() |
自定义 key 排序 |
示例(按字段排序二维数组):
usort($arr, function($a, $b) {
return $a['age'] <=> $b['age'];
});
| 函数 |
作用 |
array_filter() |
过滤元素 |
array_map() |
映射处理 |
array_reduce() |
归并累计 |
示例:
// 过滤偶数
array_filter([1,2,3,4], fn($v) => $v % 2 == 0);
// 所有值 *2
array_map(fn($v) => $v*2, [1,2,3]);
| 函数 |
作用 |
array_unique() |
数组去重 |
array_diff() |
差集(按值) |
array_intersect() |
交集(按值) |
array_diff_assoc() |
差集(键值都比) |
array_intersect_assoc() |
交集(键值都比) |
| 函数 |
作用 |
array_key_exists() |
判断 key 是否存在 |
isset($arr[$k]) |
更快判断 key 存在且非 null |
array_flip() |
键值互换 |
array_change_key_case() |
key 大小写转换 |
array_column() |
取二维数组某一列 |
示例(数据库结果神器):
// 取所有用户 id
array_column($users, 'id');
// 以 id 作为 key
array_column($users, null, 'id');
| 函数 |
作用 |
shuffle() |
打乱数组 |
array_rand() |
随机取 key |
| 函数 |
作用 |
array_count_values() |
统计每个值出现次数 |
array_sum() |
求和 |
array_product() |
连乘 |
array_key_exists('id', $arr); // 可判断 null
isset($arr['id']); // 更快,但 null 会返回 false
array_multisort(array_column($list,'age'), SORT_ASC, $list);
$list = array_column($list, null, 'id');
unset($arr[$key]);
你作为 PHP 全栈,这 20 个是核心战斗力:
count
foreach
in_array
array_search
array_push / array_pop
array_merge
array_keys / array_values
array_column
array_filter
array_map
array_unique
array_diff
sort / asort / ksort
usort
array_slice
array_multisort