您的位置:PHPChina 开源社区门户 >> 论坛 >> PHP基础编程(问答求助) >> 查看帖子
字体: 小 中 大
co63 发表于: 2008-8-27 09:44 来源: PHPChina 开源社区门户
QUOTE:
原帖由 co63 于 2008-8-27 02:44 发表 function的参数列表,最后一项的后面不能有一个逗号。 但是如果是一个数组的话,最后一项可以有一个逗号。 这样设计是有什么原因吗?
而function的参数列表则不是
原帖由 co63 于 2008-8-27 14:43 发表 用这个技术的话,function的参数列表应该也是可以做到的 就相当于所有的参数当做一个数组 难道开发者偷懒?
好像4.x某个版本开始就可以了
原帖由 flyfly99 于 2008-8-28 08:59 发表 我说数组最后的那个,,4.X有个版本之前是不可以的。好像是后来加的
原帖由 只想当高手 于 2008-8-30 11:08 发表 那你说Japan为什么不能拼成Jiba
最新回复
QUOTE:
不好意思,就是这么定义的,要想知道原因,请看底层那就反应了php的语法不统一
也就是它所被批评的不规范
array的list可以被展开成
array_pair_list:
/* empty */
| non_empty_array_pair_list possible_comma
;
也就是说,他后面可以有个possible_comma(可能的逗号)
而function的参数列表则不是
所以,这个只是语法分析阶段的一个限制而已
[ 本帖最后由 laruence 于 2008-8-27 11:30 编辑 ]
QUOTE:
用这个技术的话,function的参数列表应该也是可以做到的就相当于所有的参数当做一个数组
难道开发者偷懒?
QUOTE:
我觉得, 不是偷懒, 是没有必要.我们也是推荐定义array的时候,最后不要写逗号.
但是,如果你写了,那也没有问题.
QUOTE:
我试了,5.2.5版本不可以讨论没有说到能起关键作用的地方
或许以后某个版本就会支持了
因为我觉得这是一个方便的地方,我可以把函数参数一个写一行,增加新参数时,把上一行复制,修改参数名就可以,而不用考虑逗号的问题
QUOTE:
我问的问题的意思就是:为什么数组可以,而function不可以。你说的这个已经是已知条件了。QUOTE:
Jiba可以fuck JapanJapan不可以fuck Jiba