PHP 配列 値の存在チェック

2019年7月9日

PHP 配列 値の存在チェック

ある値が検索される配列に存在チェックする際に、in_array関数を使います。
上手くin_array関数を使えば、ソースの可読性や開発効率をアップさせるかと思います。
いやいや、そんなに変わらないと思うよと言った人がいると思いますが、人によって違いますが、私にとっては、読みやすく、メンテナンスしやすく、シンプルなソースを実装したほうが良いではないかと思います。

スポンサーリンク

■文法

in_array( 'ある値’, '検索される配列’ [, オプション: 型でも確認するかどうか] );

■返り値

検索される配列からある値を見つけたら、true、見つけなかったら、falseを返します。

■例1

PHPって簡単ですね。あのJAVAより楽ちん~♪♪(JAVAなら、ListやMapなどのオブジェクトのメソッドを使うね)

前説のところに、上手くin_array関数を使えば、ソースの可読性や開発効率をアップさせることを例を挙げて、説明します。

■例2:悪い例

上記の例は実際のWEBサイトに実装したたソースの抜粋です。(書き方はまったく同じです)
対象画面を表示する前に、対象画面はログイン画面やパスワード再発行画面など以外の場合、認証処理を行うという仕様の実装です。
ソース自体には何も問題ないですし、実際にも本番環境で正常に稼働していますが、もっと読みやすく、カッコ良く、コーディングの効率高い実装方法があると思います。

■例3:改善策

いかがでしょうか、in_array関数を使ったら、コーディング量も減っていたし、ソースの可読性も大幅にアップしたと思います。(もっといい実装方法があれば、是非是非コメントください)
実装者に聞いたところ、最初はログイン画面だけ除外対象となりますが、除外対象画面がどんどん追加されたため、例2のカタチになってしまいましたという理由でしたが。。。。

スポンサーリンク