PHP - 关联数组索引命名惯例

8
在PHP中,关联数组的索引是否需要遵循相同的规则和变量命名规则(不能以数字开头等)?我希望得到这个问题的工作和哲学回答。

没有。大多数都不以数字开头。$foo=array('x','y'); 索引是0和1。 - user557846
@Dagon,我们正在讨论关联数组。 - Madara's Ghost
5个回答

6
手册中得知:
一个键可以是整数或字符串。如果键是标准表示的整数,将被解释为整数(例如,“8”将被解释为8,而“08”将被解释为“08”)。键中的浮点数将被截断为整数。在PHP中,索引数组和关联数组类型是相同的类型,它们都可以包含整数和字符串索引。
在他们的示例中,使用类似$array["08"]这样的内容是完全可以接受的,并且将被视为字符串,尽管您可能知道,这是不推荐的。始终要逻辑命名变量。

我觉得我应该补充一下,即使示例中没有空格,字符串也可以包含空格。 - BFTrick
出于严格的实际原因,我认为您应该选择那些在代码编辑器中可以“双击选择”的索引名称,例如:array['array_key']。一个不好的例子是:array['key@array'] - Stocki

2

不,关联数组可以有数字键。任何有效的字符串都可以作为索引。就代码风格和清晰度而言,重要的是键是否有意义并且易读。


2

就惯例而言,为了区分变量名和索引,我经常看到人们使用小写字母和下划线。尽管有点繁琐,但我发现这样可以增加可读性,因为眼睛期望一个通常只有一个单词命名的数组使用小写索引:array['array_index'] 看起来不错;在某些代码中,array['arrayIndex'] 往往更难阅读。


1

根据手册,数组键可以是整数或任何有效的字符串。

从哲学的角度来看,键应该在上下文中有意义,并增加代码的可读性。


0

不,它们可以是任何字符串,甚至是二进制字符串。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接