「PHP 数组函数速查表(高频实战版)」

73次阅读
没有评论

一、基础操作(增 / 删 / 查 / 改)

函数 作用 示例
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() 连乘

十一、实战高频技巧(干货)

1. 判断 key 是否存在(推荐)

array_key_exists('id', $arr);   // 可判断 null
isset($arr['id']);             // 更快,但 null 会返回 false

2. 二维数组按字段排序(后端超常见)

array_multisort(array_column($list,'age'), SORT_ASC, $list);

3. 快速重建索引(以 id 为 key)

$list = array_column($list, null, 'id');

4. 安全删除某个元素

unset($arr[$key]);

十二、必背高频函数清单(核心 20 个)

你作为 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
正文完
 0
评论(没有评论)