Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@a-nishimura

phpstormで配列最後の要素をカンマ付きで統一させるフォーマット設定

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」

「コード変換」タブで
「複数行配列の最後の要素の後にコンマを追加する」にチェックを入れる

スクリーンショット 2019-09-03 11.47.37.png

この設定でOKとし、該当ファイルを開いてコードの再フォーマットを適用すると要素の最後に自動でカンマをつけてフォーマットしてくれます。

コードフォーマットは以下コマンドです。
Cmd + Alt + L(Mac)またはCtrl + Alt + L(Win)
※ファイル保存しただけでは再フォーマットはされません。

前回の関連記事

phpstormで配列のarray()を[]にフォーマットで統一させる設定
https://qiita.com/a-nishimura/items/2acfb667ea6f6c596d96

参照

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?