ホーム » ブログ » 2006年03月 » PHPソースコード中の配列の書き方のオススメ

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

2006-03-02 written by akiyan | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

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');
2006-03-02 written by akiyan | 記事 | このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク

コメント

ma - 2006-03-03 11:11:50

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

投稿



本文と関連性の無いコメントは削除することがあります。予めご了承ください。

トラックバック

このエントリへのトラックバックURLは
http://www.akiyan.com/cgi/mt/mt-tb.cgi/198
です。トラックバック元のエントリに当サイトへのリンクが無い場合はトラックバックを削除することがあります。

  1. PHPソースコードの書き方? from MS-K's irresponsible Diary [ FreeBSD | PHP | WebDesign | PC ] Serendipity Weblog
    2006-03-04 21:09:49