格式化关联数组声明

格式化关联数组声明

问题描述:

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

1)缩进元件的一个多电平:

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

2)缩进元件中的两个级别:

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

3)超出数组构造缩进元件,与开始对准右大括号构造函数:

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

4)超出数组构造的缩进元素,其中cl osing支架与开括号对齐:

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

就个人而言,我喜欢#3的宽压痕清楚地表明,我们在代码中的一个断点(构建阵列),以及具有该闭括号浮动所有数组左边的数据都清楚地表明这个声明已经完成。

我个人总是去:

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

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

一般来说,如果在编码意义上它不重要,我将只为关联数组使用多行格式,即。在阅读代码时参考时很有用。否则,(如果它是一个简短的数组),我会把它放在一行上。

如果它很长或不平凡,我的IDE(目前的Eclipse,直到我可以选择合适的替代品)处理大部分格式。一般而言,原来类似于您的第一个例子,与缩进的一层:

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

我已经长大这种方式更喜欢它。一个级别的缩进实际上是所有需要的,并创建更多的横向空间。

我喜欢:

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

除了压痕,也有排队的价值观的问题,因为该密钥将最有可能有不同的长度(至少其中的一些)。因此,举例来说,你怎么处理这样的事情:

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

在这种情况下,我一般标签出来的脂肪箭头至少2个标签给这样的事情:

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

我通常使用这种压痕的数组的声明:

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

神似#1,但与此不同:

  • 最终}被缩进,

我从不在'=>'周围放置很多空格来对齐值(如ennuikiller suggested):我找到真的很难读,而且经常有我的眼皮跳,以错误的值^^

另外请注意,我总是把一个“,”在最后声明的末尾:

  • 它是完全合法
  • 当您向数组中添加一行时,您不必添加它
  • 当您在数组末尾添加一行时,您只需修改一行:您正在插入的一行(并且最初不是之前的那个,添加','因为它已经存在);这有助于差异和补丁:更少的修改线,更易于阅读

还有一件事:这是我在做一个没有指定格式化规则的项目时所做的工作;否则,我尽量尊重那些尽可能多地(使格式化是一致的项目的团队成员之间)

我去一个类似于#4:

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

我觉得这个方法允许数组中项目的易见性,这在数组大于10个项目时特别有用。

非常有帮助。讨论PHP的所有良好编码风格
http://framework.zend.com/manual/1.12/en/coding-standard.coding-style.html