php数组函数按创建初始化、查询判断、遍历转换、合并拆分去重四类掌握即可提升效率;理解各类核心目的与典型场景,结合需求选用,无需死记所有函数。

PHP 数组函数数量多、功能细,按用途分类掌握,能显著提升开发效率和代码可读性。不必死记所有函数,理解每类的核心目的和典型使用场景,再结合实际需求选择即可。
一、数组创建与初始化
用于快速生成结构化数据,常用于配置、默认值、测试数据等场景。
-
array() 和 []:最基础的创建方式,PHP 5.4+ 推荐用短语法
[] -
range($start, $end[, $step]):生成等差数列,如
range(1, 5)→[1,2,3,4,5],适合分页编号、月份列表 -
array_fill($start, $num, $value):填充固定值,如
array_fill(0, 3, 'N/A')→['N/A','N/A','N/A'],适合初始化表单字段默认状态 - array_combine($keys, $values):用两数组构造关联数组,要求键数组无重复且长度一致,常用于映射原始数据(如数据库字段名与值)
二、数组查询与判断
用于条件校验、存在性检查、数据过滤前的预判,避免未定义索引或空值错误。
-
in_array($needle, $haystack[, $strict]):检查值是否存在,
$strict = true时类型也需匹配,登录权限中验证角色名较常用 -
array_key_exists($key, $array):检查键是否存在(包括
null值),比isset()更准确,适合处理可能为null的配置项 -
isset($array[$key]):检查键存在且值不为
null,常用于表单提交参数判断 -
empty($array):判断是否为空数组(或 null/0/'' 等),注意它对
[0 => '']也会返回 true,慎用于数值型数组
三、数组遍历与转换
处理数据结构变形、批量计算、格式标准化,是日常业务逻辑中最频繁的一类。
一个功能强大的B2B与B2C的购物平台,除了原本OSC功能外,增加更新的功能: 一、 取消了register_globals必须开启的限制 二、 將HTML程式碼与PHP程式碼完全分离,採用了smarty 樣板引擎 三、 每支档案includes所需函数与资料库连结,使的网页显示速度明显提升 四、 检视、购买商品群组权限设定 五、 十八岁以下禁购机制 六、 折价券购物抵扣机制 七、 礼券购物机制
立即学习“PHP免费学习笔记(深入)”;
-
array_map($callback, $array):对每个元素执行回调,如
array_map('trim', $strings)清理字符串数组首尾空格 - array_filter($array[, $callback[, $flag]]):筛选元素,默认过滤掉 false-y 值;传入回调可自定义规则,如提取正数、过滤空邮箱
- array_walk($array, $callback[, $userdata]):原地修改数组(引用传递),适合带上下文的批量处理,如给日志数组统一添加时间戳
-
array_column($array, $column_key[, $index_key]):从二维数组中提取单列,非常实用,如从用户列表中取出所有
id或email
四、数组合并、拆分与去重
应对多来源数据整合、结果集优化、避免冗余展示等后端常见任务。
- array_merge($arr1, $arr2, ...):合并多个数组,数字键重排,字符串键后者覆盖前者,适合合并配置项
- + 运算符:键不覆盖的合并(左操作数优先),适合保留默认配置不被意外覆盖
-
array_unique($array[, $sort_flags]):去除重复值,注意它只比较值,不保留原始键顺序;配合
SORT_REGULAR可安全处理混合类型 - array_slice($array, $offset[, $length]) 和 array_splice($array, $offset[, $length[, $replacement]]):前者只读截取(如分页取数据),后者可删除+插入,适合动态调整数组内容
掌握这四类函数的边界和典型组合,比如 array_column() + in_array() 判断某 ID 是否在列表中,或 array_filter() + array_map() 实现链式数据清洗,就能覆盖绝大多数 PHP 数组操作需求。不需要全背,但要清楚“想做什么”时该翻哪一类。









