欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php语法设计 数组为什么不采用普遍的{}大括号呢? 其它的 编程语言 在数组初始值 都是 用大括号{} 包含的。

程序员文章站 2024-02-12 11:32:52
...
php原来只能用 array=(),在新版本中 采用了 短语法 用到 方括号[ ].. 采用大括号{} 不更符合普罗大众吗?
c# int[] array = { 1, 2, 3, 4, 5, 6 };
java int[] arr = {0,0,0,0,0,0,0,0,0,0,0,};
python ( )元组 [ ]列表/数组 { }字典 没有混合成到一块,,,python 倒是跟php 有点亲戚关系 都是用到了 [ ]
golang arr:=[...]int{1,1,1,1,1,1,1,1,1}

都是大括号 { } 包含,,,

php 采用 [ ] 中括号包含,难道是原因为 {} 大括号在php中有一些特别用途 $a="aaaaaa{$b}aaaaaa"; 怕产生歧义?,要不就是敲 [ ]中括号比桥 { } 大括号方便,,不用 shift 键。
瞎猜的!!!就是不知道PHP开发组内部是怎么计论的处理什么理由,用 [ ] 方括号,不用 { } 大括号。

大括号嘛 大!大!括号嘛,,,PHP的这个数据结构又是混合型的, 大括号嘛,最大的括号嘛,,哈哈,,什么都能括住,,大括号 { } 这个符号图形感觉也符合视觉需求呀。

回复内容:

php原来只能用 array=(),在新版本中 采用了 短语法 用到 方括号[ ].. 采用大括号{} 不更符合普罗大众吗?
c# int[] array = { 1, 2, 3, 4, 5, 6 };
java int[] arr = {0,0,0,0,0,0,0,0,0,0,0,};
python ( )元组 [ ]列表/数组 { }字典 没有混合成到一块,,,python 倒是跟php 有点亲戚关系 都是用到了 [ ]
golang arr:=[...]int{1,1,1,1,1,1,1,1,1}

都是大括号 { } 包含,,,

php 采用 [ ] 中括号包含,难道是原因为 {} 大括号在php中有一些特别用途 $a="aaaaaa{$b}aaaaaa"; 怕产生歧义?,要不就是敲 [ ]中括号比桥 { } 大括号方便,,不用 shift 键。
瞎猜的!!!就是不知道PHP开发组内部是怎么计论的处理什么理由,用 [ ] 方括号,不用 { } 大括号。

大括号嘛 大!大!括号嘛,,,PHP的这个数据结构又是混合型的, 大括号嘛,最大的括号嘛,,哈哈,,什么都能括住,,大括号 { } 这个符号图形感觉也符合视觉需求呀。

用大括号才奇怪吧,在数学语境下,{}代表集合,[]代表列表,集合是没有顺序而言的,而列表是有序的。所以越来越多的现代语言都用 [] 来表示列表。

补充 @yetone 的回答:

PHP之前很多年数组的表示形式一直是 array(),而 [ ] 方式是在PHP5.4中才引入的。如果你写过一段时间PHP,你就会发现用 [ ] 表示数组也是你内心真正想的一件事,这是顺其自然的。

还有就是array()写起来真是太TM费劲了好吗

PHP的数组根本就不是传统的C数组,而是 map、链表、堆、栈......

自 5.4 起可以使用短数组定义语法,用 [] 替代 array()。
编程语言一般都是用[]表示数组或队列,用{}表示字典或集合。
其实在php中数组可以表示字典,因为是键值对。所以题主才想到了用{}吧

最新版本PHP5.4+已经支持了,不过用的人很少。大部分都是PHP 5.2,php5.3.3

[] 在 PHP5.4 已经开始支持,并且不是所以的语言定义数组都用 {},比如 JS

php的数组实际上是字典了 所以不能拿其他语言的数组 要拿字典来比较

py的字典是{}
js的对象是{}
swift的字典是[:]

看起来新出现的语言倾向于使用中括号
而php5.4是较新的 所以使用中括号

相关标签: php