PHPソースコード中の配列の書き方のオススメ

PHPのコーディング規約の話。コードのスタイルは人によって様々で、共同作業のときは最低限のルールを定めて作業を行います。ただ、array()の中身については規定されないことが多くて人のコードをいじるときに困ることがよくあります。ひょっとして他の現場でも同様な問題を抱えているのではないかと思いましたので、私のオススメの書き方を晒してみます。

// 単純な配列
$value = array(
'value1',
'value2',
'value3',
);

// 連想配列
$value = array(
'key1' => 'value1',
'key2' => 'value2',
'hogehoge' => 'value3',
);

// 配列の配列
$value = array(
'key1' => 'value1',
'key2' => 'value2',
'hogehoge' => array(
'foo',
'bar',
'hoge',
),
);

この書き方の利点は、要素がすべて行単位で独立しているということです。コピペしやすく、行の入れ替えが容易です。最後の要素にもカンマがついているのがミソです。実は、var_exportで出力される結果と同じだったりします。

その他よく見かける例としては以下のような書き方がありますが、私はどれも推奨しません。変数の長さにインデントが影響されるからです。またエディタにおいて2行目の書き始めにエディタの自動インデントがききません。最初か最後の要素を移動しようとすると行単位でコピペできないのも不便です。

// インデントを「(」を基準にしている。
$value = array('value1',
'value2',
'value3');

$value = array('key1' => 'value1',
'key2' => 'value2',
'hogehoge => array('foo',
'bar',
'hoge));

// インデントを「=」を基準にしている
$value = array(
'value1',
'value2',
'value3'
);

// 横に並べる
$value = array('value1', 'value2', 'value3');

コメント / トラックバック

コメント / トラックバック 3 件

  1. ma より:

    「インデントを「=」を基準にしている」は確かに多いですね。うちの職場でもほとんどのコードでそう書かれてたりします。
    コード規約はなんにせよ統一しとかないと後が大変ですね~

  2. PHPソースコードの書き方?

    akiyan.com さんにて「PHPソースコード中の配列の書き方のオススメ」 というのが提案されていまして拝見したのですが、
    // 単純な配列
    $v...

  3. [...] ■PHPソースコード中の配列の書き方のオススメ – akiyan.com 今日ちょっと指導したのでメモ。 [...]