You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中[]短语法与array()语法创建数组有什么区别?

PHP两种数组定义语法的差异结论

这两种写法生成的数组不存在任何差异,最终得到的变量值、结构、类型完全一致,输出结果也完全相同。

  • []是PHP 5.4版本新增的短数组语法,array()是PHP从最早版本就支持的传统数组语法,二者仅书写形式不同,PHP底层解析后生成的数组实体没有区别。
  • 两段代码定义的都是默认索引数组,元素顺序、键值、键名完全一致:索引从0开始依次对应"Sagittarius"、"Cancer"、"Gemini"、"Pisces"四个字符串值。

你可以用以下代码直接验证一致性:

<?php
// 短数组写法
$short_arr = ["Sagittarius", "Cancer", "Gemini", "Pisces"];
// 传统array()写法
$traditional_arr = array("Sagittarius", "Cancer", "Gemini", "Pisces");

// 松散比较:值相等返回true
var_dump($short_arr == $traditional_arr);
// 严格比较:值和类型、顺序、键名完全一致返回true
var_dump($short_arr === $traditional_arr);

上述代码两行比较都会输出bool(true),证明两个变量完全等价。

两种写法唯一的区别是适用场景:如果需要兼容PHP 5.3及更老的过时版本,只能用array()写法;目前主流PHP版本(7.x、8.x)环境下,更简洁的短数组写法是社区通用的首选写法,两种写法可以互相替换,不会引发任何逻辑差异。

内容的提问来源于stack exchange,提问作者nedhaskins

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 11:36:20