
一、数组创建与初始化函数
快速生成数组是日常开发的基础操作,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。
三、数组遍历与转换函数
高效处理数组内容,包括提取、映射、过滤和格式化输出。
一个功能强大的B2B与B2C的购物平台,除了原本OSC功能外,增加更新的功能: 一、 取消了register_globals必须开启的限制 二、 將HTML程式碼与PHP程式碼完全分离,採用了smarty 樣板引擎 三、 每支档案includes所需函数与资料库连结,使的网页显示速度明显提升 四、 检视、购买商品群组权限设定 五、 十八岁以下禁购机制 六、 折价券购物抵扣机制 七、 礼券购物机制
-
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)







