PHP 常用数组函数分类总结与使用示例

6次阅读

PHP 常用数组函数分类总结与使用示例

一、数组创建与初始化函数

快速生成数组是日常开发的基础操作,php 提供了简洁的内置方式和辅助函数。

  • Array():最基础的数组声明语法,支持索引和关联形式。
    示例: $arr = array(1, 2, 'name' => 'Tom');
  • range($start, $end, $step):生成指定范围的数值数组,支持步长。
    示例: range(1, 5)[1,2,3,4,5]range('a', 'c')['a','b','c']
  • array_fill($start_index, $num, $value):按数量填充固定值的数组。
    示例: array_fill(0, 3, 'x')[0=>'x', 1=>'x', 2=>'x']
  • array_combine($keys, $values):用两个数组分别作为键和值合并成关联数组,要求长度一致。
    示例: array_combine(['a','b'], [1,2])['a'=>1, 'b'=>2]

二、数组查询与判断函数

检查数组结构、元素是否存在或满足条件,是安全操作的前提。

  • in_array($needle, $haystack, $strict):查找值是否存在于数组中,$strict开启全等比较(推荐开启避免类型隐式转换误判)。
  • array_key_exists($key, $array):判断键名是否存在(包括 NULL 值),比 isset() 更准确用于键检测。
  • isset($array[$key]):常用于判断键存在且值不为 null,但对 null 值会返回 false
  • empty($array):判断数组是否为空(长度为 0),注意它对 array()array(null) 结果不同。
  • array_search($needle, $haystack, $strict):返回首次匹配元素的键名,未找到返回 false

三、数组遍历与转换函数

高效处理数组内容,包括提取、映射、过滤和格式化输出。

  • array_map($callback, $array, …):对每个元素应用回调函数,返回新数组。
    示例: array_map('strtoupper', ['a','b'])['A','B']
  • array_filter($array, $callback, $flag):按回调逻辑筛选元素,默认保留“真值”元素,ARRAY_FILTER_USE_BOTH 可同时传入键和值。
  • array_column($array, $column_key, $index_key):从多维数组中提取单列,支持自定义索引键。
    示例: array_column($users, 'name', 'id') → 以 id 为键、name 为值的新数组
  • array_keys($array, $search_value, $strict):获取所有键名;加 $search_value 可返回对应值的键名列表。
  • array_values($array):重置索引,返回纯数字索引数组,常用于消除键名干扰。

四、数组合并、拆分与排序函数

组合多个数组、切片处理、按需排序,是数据聚合与展示的关键环节。

立即学习PHP免费学习笔记(深入)”;

  • array_merge($arr1, $arr2, …):合并多个数组,关联键名重复时后者覆盖前者;索引键会重新编号。
  • +(数组并集运算符):合并时**不重排索引**,关联键重复时**前者保留**,行为与 array_merge 明显不同。
  • array_slice($array, $offset, $Length, $preserve_keys):截取子数组,$preserve_keys 控制是否保留原键名(默认 false)。
  • array_splice($array, $offset, $length, $replacement):移除并可选替换一段元素,**直接修改原数组**,返回被移除的部分。
  • sort(), asort(), ksort(), rsort(), arsort(), krsort():区分是否保持键值关联、按键还是按值、升序还是降序。例如:
    按值升序并保持键关联:asort($arr)
    按键名降序(字符串自然排序):krsort($arr)
text=ZqhQzanResources