在php开发中,数组是最常用的数据结构之一,把值存入数组是日常开发的高频操作,不同的存入场景对应不同的实现方法,下面逐一介绍常见的操作方式。

一、使用方括号追加元素到数组末尾
如果不需要指定键名,只想把值追加到数组的末尾,可以直接使用空方括号的语法,这是最简洁的追加方式。
<?php // 初始化一个索引数组 $arr = [1, 2, 3]; // 使用空方括号追加新值 $arr[] = 4; $arr[] = 5; // 打印数组查看结果 print_r($arr); // 输出结果:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) ?>
这种方式会自动给新元素分配连续的索引,适合不需要自定义键名的场景。
二、指定键名存入数组元素
如果需要给存入的元素指定特定的键名,可以直接通过数组变量[键名]的方式赋值,键名可以是字符串或者整数。
<?php // 初始化一个空数组 $user = []; // 指定字符串键名存入值 $user['name'] = '张三'; $user['age'] = 25; $user['city'] = '北京'; // 指定整数键名存入值 $user[10] = '额外信息'; print_r($user); // 输出结果:Array ( [name] => 张三 [age] => 25 [city] => 北京 [10] => 额外信息 ) ?>
如果指定的键名已经存在,新值会覆盖原有的值,使用时需要注意避免误覆盖。
三、使用array_push函数批量追加元素
如果需要一次性把多个值追加到数组末尾,可以使用array_push函数,该函数会返回追加后数组的元素总数。
<?php $fruits = ['苹果', '香蕉']; // 批量追加三个元素 $count = array_push($fruits, '橘子', '葡萄', '西瓜'); echo '追加后数组元素总数:' . $count . '<br/>'; print_r($fruits); // 输出结果:追加后数组元素总数:5 // Array ( [0] => 苹果 [1] => 香蕉 [2] => 橘子 [3] => 葡萄 [4] => 西瓜 ) ?>
如果只需要追加一个元素,使用方括号语法比array_push效率更高,因为函数调用会有额外的开销。
四、在数组开头插入元素
如果需要在数组的开头存入新元素,可以使用array_unshift函数,该函数会把新元素插入到数组的开头,原有元素的索引会重新排序。
<?php $numbers = [2, 3, 4]; // 在开头插入两个元素 array_unshift($numbers, 0, 1); print_r($numbers); // 输出结果:Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 ) ?>
五、不同方法的适用场景对比
为了更清晰地选择存入数组的方法,下面整理不同方法的适用场景:
| 方法 | 适用场景 | 注意事项 |
|---|---|---|
方括号追加$arr[] = $val | 单个元素追加到末尾,不需要指定键名 | 效率最高,自动分配连续索引 |
指定键赋值$arr[$key] = $val | 需要自定义键名存入元素 | 键名重复会覆盖原有值 |
array_push函数 | 一次性批量追加多个元素到末尾 | 单个元素追加效率低于方括号语法 |
array_unshift函数 | 需要在数组开头插入元素 | 会重置原有索引数组的索引 |
掌握以上几种php存入数组的方法,就可以应对大部分开发中的数组赋值需求,根据实际场景选择最合适的方式即可。
php数组array_push指定键赋值array_unshift修改时间:2026-07-13 04:48:20