最安全推荐的方式是定义空数组后直接用[]赋值再用[]追加元素;避免array_push()初始化首个元素或手动指定数字键,php会自动分配从0开始的索引。

定义空数组后直接用 [] 或 array() 赋值,再用 [] 追加元素是最安全、最推荐的方式。别用 array_push() 初始化后立刻加第一个元素,也别误以为必须先声明键名。
用空方括号初始化,再用 [] 添加第一个元素
这是最简洁自然的写法,PHP 会自动分配数字索引(从 0 开始):
$arr = [];<br>$arr[] = 'hello'; // 自动成为 $arr[0]<br>var_dump($arr); // array(1) { [0]=> string(5) "hello" }
说明:空数组 [] 是 PHP 5.4+ 推荐语法;$arr[] = ... 表示追加到末尾,无需关心当前长度或键名。
避免对空数组用 array_push() 加第一个元素
虽然能运行,但多一层函数调用,且语义上“推送”更适合已有元素的批量操作:
- ✅ 可以用:
array_push($arr, 'first')—— 不报错,但略冗余 - ❌ 不推荐:
array_push([], 'first')—— 创建临时空数组再 push,结果丢失 - ⚠️ 注意:
array_push()返回新数组长度,不是数组本身,不能链式赋值
别手动指定键名来“添加第一个”,除非真需要自定义键
以下写法虽合法,但属于过度设计:
$arr = [];<br>$arr[0] = 'hello'; // 等价于 $arr[] = 'hello',但没必要<br>$arr['name'] = 'Alice'; // 这才是合理使用字符串键
说明:数字索引由 PHP 自动管理更稳妥;手动设 [0] 容易在后续循环或 count() 中引发混淆,尤其当数组可能混用数字和字符串键时。
检查是否为空再添加?通常不需要
对刚定义的 $arr = [],直接 $arr[] = ... 即可。PHP 不要求先判断空再操作:
- ✅ 正确:
$arr = []; $arr[] = 'item'; - ❌ 多余:
if (empty($arr)) { $arr[] = 'item'; } - ? 场景例外:如果数组来自外部(如 $_POST),且不确定是否已初始化,才需判空或用
?? []合并默认值
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











