格式化关联数组声明

Dre*_*ens 9 php arrays formatting associative-array coding-style

声明关联数组时,如何处理数组元素的缩进?我见过很多不同的样式(PHP语法,因为那是我最近的样子).这是一个非常挑剔和琐碎的事情,所以如果你对更严肃的追求感兴趣,请继续前进.

1)缩进元素一个级别:

$array = array(
    'Foo' => 'Bar',
    'Baz' => 'Qux'
    );
Run Code Online (Sandbox Code Playgroud)

2)缩进元素两个级别:

$array = array(
        'Foo' => 'Bar',
        'Baz' => 'Qux'
        );
Run Code Online (Sandbox Code Playgroud)

3)缩进数组构造函数之外的元素,其中右大括号与构造函数的开头对齐:

$array = array(
            'Foo' => 'Bar',
            'Baz' => 'Qux'
        );
Run Code Online (Sandbox Code Playgroud)

4)在数组构造之外的缩进元素,其中闭合支撑与开口支撑对齐:

$array = array(
            'Foo' => 'Bar',
            'Baz' => 'Qux'
              );
Run Code Online (Sandbox Code Playgroud)

就个人而言,我喜欢#3 - 广泛的缩进清楚地表明我们处于代码中的断点(构造数组),并且使闭合括号在所有数组的数据的左侧浮动一点就清楚了这个宣言已经完成.

cle*_*tus 10

我个人总是去:

$array = array(
  '1' => '2',
  3 => 4,
);
Run Code Online (Sandbox Code Playgroud)

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


Pas*_*TIN 6

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

function test()
{
    $my_array = array(
        'a' => 1,
        'bcdef' => 2,
        'gh' => array(
            'glop',
            'test'
        ),
        'ijk' => 20,
    );
}
Run Code Online (Sandbox Code Playgroud)

与#1非常相似,但有这种差异:

  • 决赛}没有缩进

我从来没有在' =>' 周围放置很多空格来对齐值(就像ennuikiller建议的那样):我发现真的很难读,而且常常让我的眼睛跳到错误的值^^

另请注意,我总是,在最后一个声明的末尾加上' ':

  • 它完全有效
  • 在向阵列添加一行时,不必添加它
  • 当你在数组的末尾添加一行时,你修改了一行:你要添加的那行(并且肯定不是之前的那行,添加',',因为它已经存在); 这有助于差异和补丁:修改的线条更少,更容易阅读

还有一件事:当我处理一个没有指定格式化规则的项目时,我就会这样做; 否则,我会尽可能地尊重这些(因此,项目团队成员之间的结构化是一致的)