9

連想配列を宣言するとき、配列の要素のインデントをどのように処理しますか? 私は多くの異なるスタイルを見てきました (PHP 構文、私が最近使っているものなので)。これはかなり気難しい些細なことなので、もっと真剣な追求に興味があるなら、先に進んでください。

1) 要素をもう 1 レベルインデントします。

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

2) 要素を 2 レベルインデントします。

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

3) 配列コンストラクターを超えて要素をインデントし、右中括弧をコンストラクターの開始位置に揃えます。

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

4) 配列構造を超えて要素をインデントし、右中括弧を左中括弧と揃えます。

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

個人的には #3 が気に入っています。幅の広いインデントにより、コード (配列の作成) のブレーク ポイントにいることが明確になり、配列のすべてのデータの左側に右中括弧が少し浮いているため、明確になります。この宣言が行われること。

4

7 に答える 7

10

個人的に私はいつも行きます:

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

インデントは 1 タブ レベルです (通常は 4 つのスペース、場合によっては 2 つ)。私は過度の空白を嫌います。これは、ネストされた配列でうまく機能します。

于 2009-07-19T06:01:37.457 に答える
6

私は通常、配列の宣言にこの種のインデントを使用します。

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

#1と非常に似ていますが、次の違いがあります:

  • 最後}はインデントされていません

=>値を揃えるために' ' の周りに多くのスペースを入れたことはありません( ennuikiller が提案したように) : それは本当に読みにくく、しばしば私の目が間違った値にジャンプしてしまいます ^^

,また、最後の宣言の最後に常に ' ' を置くことに注意してください。

  • それは完全に有効です
  • 配列にもう1行追加するときに追加する必要はありません
  • 配列の最後に 1 行を追加すると、1 行だけが変更されます: 追加する行 (そして、既にあるので、',' を追加する前の行ではないことは間違いありません) ; これは差分とパッチに役立ちます: 変更された行が少なくなり、読みやすくなります

もう 1 つ: これは、書式設定規則を指定しないプロジェクトで作業するときに私が行うことです。それ以外の場合は、可能な限りそれらを尊重しようとします (プロジェクトのチームのメンバー間でフォーメーションが一貫しているように)

于 2009-07-19T09:58:27.590 に答える
3

通常、コーディングの意味で自明でない場合、連想配列に複数行の形式のみを使用します。コードを読むときに参照すると便利なもの。それ以外の場合 (短い配列の場合)、1 行に配置します。

長い場合や重要な場合は、私の IDE (現時点では Eclipse、適切な代替手段に落ち着くまで) がほとんどの書式設定を処理します。一般に、1 レベルのインデントを使用して、最初の例と同様になります。

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

私はこの方法を好むようになりました。実際に必要なのは 1 レベルのインデントだけで、より多くの水平スペースが作成されます。

于 2009-07-19T05:47:22.230 に答える
1

私は#4に似たものを使います:

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

この方法では、配列内のアイテムが見やすくなると思います。これは、配列が10アイテムより大きい場合に特に便利です。

于 2009-07-20T16:06:40.060 に答える
1

好き:

$array = array('Foo' => 'Bar',
               'Baz' => 'Qux');
于 2009-07-19T05:55:33.430 に答える
0

インデントに加えて、キーの長さが等しくない可能性が高いため (少なくともそれらの一部)、値を並べるという問題もあります。たとえば、次のような場合はどのように対処しますか。

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

そのような場合、私は通常、太い矢印を少なくとも 2 つのタブでタブアウトして、次のようにします。

'KeyOne'       => 'Value1',
'KeyTwo'       => 'Value2',
'KeyTwelve'    => 'Value12',
于 2009-07-19T06:00:11.033 に答える