phpで配列のカンマ付きの指定はどうされていますか?
PHP5.4以降では配列の短縮構文が追加されてarray()
の代わりに[]
を使えるようになってからは
個人的には読みやすいので[]が好みですが、
最後の要素の指定で,
(カンマ)をつけるかどうか統一されていないコードもありますが、
PhpStormのコードフォーマットで一括でリファクタリングする設定です。
配列最後の要素の後のカンマをつけるべきか?どうか
そもそもですが、
まずカンマをつけるべきかどうか迷うところでもあると思います。公式のDOCに記述がありました。
最後の要素のあとのカンマは、書いても書かなくてもかまいません。 配列を一行で定義する場合は、ふつうは最後のカンマを省略します。つまり、 array(1, 2) のほうが array(1, 2, ) よりおすすめだということです。 しかし複数行で定義する場合は、最後のカンマをつけることが一般的です。 そうしておけば、配列の最後に要素を追加するのが容易になるからです。
ということで基本どっちでもいいよと言っちゃってますが、
複数行で定義の際はカンマ付きの方がいいよねということのようです。
たしかにgithubなどのバージョン管理を使用している際は、定義などで最後の要素を追加した時にカンマありの方が差分が見やすくなるのでいいですね。
array(
key => value,
key2 => value2,
key3 => value3,
...
)
と
[
key => value,
key2 => value2,
key3 => value3,
...
]
配列最後の要素をカンマ付きで統一させるフォーマット設定
- 「環境設定」→「エディター」→「コード・スタイル」→「PHP」
「コード変換」タブで
「複数行配列の最後の要素の後にコンマを追加する」にチェックを入れる
この設定でOKとし、該当ファイルを開いてコードの再フォーマットを適用すると要素の最後に自動でカンマをつけてフォーマットしてくれます。
コードフォーマットは以下コマンドです。
Cmd + Alt + L
(Mac)またはCtrl + Alt + L
(Win)
※ファイル保存しただけでは再フォーマットはされません。
前回の関連記事
phpstormで配列のarray()を[]にフォーマットで統一させる設定
https://qiita.com/a-nishimura/items/2acfb667ea6f6c596d96
参照