Php 格式化关联数组声明

Php 格式化关联数组声明,php,arrays,formatting,coding-style,associative-array,Php,Arrays,Formatting,Coding Style,Associative Array,声明关联数组时,如何处理数组元素的缩进?我见过许多不同的风格(PHP语法,因为这是我最近使用的)。这是一件非常挑剔和琐碎的事情,所以如果你对更严肃的追求感兴趣,那就继续前进吧 1) 将元素缩进一级: $array = array( 'Foo' => 'Bar', 'Baz' => 'Qux' ); 2) 将元素缩进两个级别: $array = array( 'Foo' => 'Bar', 'Baz' => 'Qux

声明关联数组时,如何处理数组元素的缩进?我见过许多不同的风格(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'
              );

就我个人而言,我喜欢#3——宽缩进清楚地表明我们在代码中处于一个转折点(构建数组),让右大括号在所有数组数据的左侧浮动一点,这表明该声明已经完成。

通常,我只会在关联数组在编码意义上非常重要的情况下使用多行格式,即在读取代码时可以引用的内容。否则,(如果它是一个短数组),我将把它放在一行上

如果它很长或很重要,我的IDE(目前是Eclipse,直到我找到合适的替代方案)为我处理大部分格式。一般来说,结果与第一个示例类似,有一个缩进级别:

$array = array(
    'Foo' => 'Bar',
    'Baz' => 'Qux'
    );
我越来越喜欢这样了。只需要一级缩进,就可以创建更多的水平空间。

我喜欢:

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

除了缩进,还有排列值的问题,因为键的长度很可能不相等(至少其中一些键)。例如,你如何处理这样的事情:

'KeyOne' => 'Value1',
'KeyTwo' => 'Value2',
'KeyTwelve' => 'Value12',
'KeyOne'       => 'Value1',
'KeyTwo'       => 'Value2',
'KeyTwelve'    => 'Value12',
在这种情况下,我通常会用至少两个标签标出胖箭头,给出如下内容:

'KeyOne' => 'Value1',
'KeyTwo' => 'Value2',
'KeyTwelve' => 'Value12',
'KeyOne'       => 'Value1',
'KeyTwo'       => 'Value2',
'KeyTwelve'    => 'Value12',

就我个人而言,我总是:

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

缩进是一个选项卡级别(通常为4个空格,有时为2个)。我讨厌过多的空白。这适用于嵌套数组。

我通常对数组的声明使用这种缩进:

function test()
{
    $my_array = array(
        'a' => 1,
        'bcdef' => 2,
        'gh' => array(
            'glop',
            'test'
        ),
        'ijk' => 20,
    );
}
与#1非常相似,但有以下区别:

  • 最后一个
    }
    未插入
我从不在“
=>
”的周围放很多空格来对齐值(比如:我发现这很难读,而且经常会让我的眼睛跳转到错误的值^^

还要注意的是,我总是在最后一次声明的末尾加上一个“
”:

  • 这是完全正确的
  • 在向数组中再添加一行时,不必添加它
  • 当您在数组末尾添加一行时,只修改一行:您是addin的那一行(并且肯定不是前面的那一行,以添加“,”,因为它已经存在);这有助于区分和修补:修改的线条更少,更易于阅读

还有一件事:当我在一个没有指定格式化规则的项目上工作时,我会这样做;否则,我会尽可能地尊重这些原则(以便项目团队成员之间形成一致)

我会选择类似于#4:


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

非常有用。讨论PHP的所有好的编码风格。