代码之家  ›  专栏  ›  技术社区  ›  Maximilian

格式化关联数组声明

  •  9
  • Maximilian  · 技术社区  · 5 年前

    声明关联数组时,如何处理数组元素的缩进?我见过很多不同的样式(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__

    7 回复  |  直到 10 年前
        1
  •  10
  •   cletus    15 年前

    我个人总是去:

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

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

        2
  •  6
  •   Community Romance    7 年前

    我通常在数组声明中使用这种缩进:

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

    与1非常相似,但有以下区别:

    • 决赛 } 未缩进

    我从来没有在' => '对齐值(如 ennuikiller suggested ):我发现这很难理解,而且经常让我的眼睛跳到错误的值上。^^

    还要注意,我总是在 , '在最后一个声明的结尾:

    • 它完全有效
    • 当您向数组中再添加一行时,不必添加它。
    • 在数组末尾添加一行时,只修改一行:您所添加的行(显然不是以前的行,添加','因为它已经存在);这有助于区分和修补:修改的行更少,更容易阅读。

    还有一件事:这就是我在一个不指定格式化规则的项目上工作时所做的;否则,我会尽量尊重那些规则(这样格式化就可以在项目团队成员之间保持一致)。

        3
  •  2
  •   zombat    15 年前

    一般来说,如果一个关联数组在编码意义上是非常重要的,那么我将只对它使用多行格式,也就是说,在读取代码时引用它是很有用的。否则,(如果是短数组),我将把它放在一条线上。

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

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

    我越来越喜欢这样。一个级别的缩进实际上是所有需要的,并创建更多的水平空间。

        4
  •  1
  •   AndyMcKenna    15 年前

    我喜欢:

    $array = array('Foo' => 'Bar',
                   'Baz' => 'Qux');
    
        5
  •  1
  •   ennuikiller    15 年前

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

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

    在这种情况下,我通常会用制表符标出脂肪箭头,至少两个制表符给出如下内容:

    'KeyOne'       => 'Value1',
    'KeyTwo'       => 'Value2',
    'KeyTwelve'    => 'Value12',
    
        6
  •  1
  •   user140125    15 年前

    我选择了一个类似于4的:

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

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

        7
  •  0
  •   Nasif Md. Tanjim    10 年前

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