关联数组声明的格式化

9
在声明关联数组时,如何处理数组元素的缩进?我看到过许多不同的样式(因为我最近一直在使用PHP语法)。这是一个相当挑剔和琐碎的问题,如果你对更严肃的追求感兴趣,请跳过。
1)将元素缩进一个级别:
$array = array(
    'Foo' => 'Bar',
    'Baz' => 'Qux'
    );

2) 将元素缩进两个级别:

$array = array(
        'Foo' => 'Bar',
        'Baz' => 'Qux'
        );

3) 将数组构造函数之外的元素缩进,关闭括号对齐于构造函数的开头:

$array = array(
            'Foo' => 'Bar',
            'Baz' => 'Qux'
        );

4)将数组构造之外的元素缩进,使闭合大括号与开头对齐:

$array = array(
            'Foo' => 'Bar',
            'Baz' => 'Qux'
              );

个人而言,我喜欢第三种方式——其宽缩进清晰地表明我们处于代码的断点(构造数组),并且将结尾的大括号浮动到数组所有数据左侧,使得声明已完成也变得非常清晰。

7个回答

10

就我个人而言,我总是使用:

$array = array(
  '1' => '2',
  3 => 4,
);

缩进是一个制表符级别(通常为4个空格,有时为2个空格)。我讨厌过多的空白。这对嵌套数组非常有效。



3

通常我只会在关联数组在编程上是复杂的情况下,使用多行格式,例如在阅读代码时有用的引用。否则(如果它是一个短数组),我会将它放在单行上。

如果它很长或者不简单,我的IDE(目前是Eclipse,直到我能找到一个合适的替代品)会为我处理大部分格式。一般而言,其缩进与您第一个示例类似:

$array = array(
    'Foo' => 'Bar',
    'Baz' => 'Qux'
    );

我已经习惯了这种方式。只需要一级缩进就足够了,而且可以创造更多的水平空间。


1

我喜欢:

$array = array('Foo' => 'Bar',
               'Baz' => 'Qux');

1

我选择与#4类似的方案:

$array = array('Foo' => 'Bar',
               'Baz' => 'Qux'
               'Moo' => 'Cow');

我认为这种方法可以更容易地查看数组中的项目,特别是当数组大于10个项目时尤其有用。


1

0
除了缩进之外,还有一个问题是对齐值,因为键很可能长度不相等(至少其中一些)。例如,你如何处理这样的情况:
'KeyOne' => 'Value1',
'KeyTwo' => 'Value2',
'KeyTwelve' => 'Value12',

在这种情况下,我通常至少将“fat arrow”缩进2个制表符,以得到类似于以下的内容:
'KeyOne'       => 'Value1',
'KeyTwo'       => 'Value2',
'KeyTwelve'    => 'Value12',

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