この記事は公開されてから8年経過しています。現在とは内容が異なる場合がありますのでご注意ください。
最新の記事や関連記事をお探しの方は下の「サイト内検索」で検索してみてください。
最新の記事や関連記事をお探しの方は下の「サイト内検索」で検索してみてください。
とあるプロジェクトで FuelPHP をがっつり使ってます。そんななか気づいたんですが、Arr クラスの get メソッドがやたらと便利です。
配列の中にあると思われるとあるキーの値を取りたいときに次のような書き方をしていたんです。
1 2 3 4 5 6 7 8 9 10 11 12 |
if (isset($array['key']) and $array['key'] !== '') { $key = $array['key']; $query->where('key', '=', $key); } // または if (isset($array['key']) and ($key = $array['key']) !== '') { $query->where('key', '=', $key); } |
それがですね、 Arr::get() を使うと次のようにシンプルになるんです。
1 2 3 4 |
if (($key = Arr::get($array, 'key', '')) !== '') { $query->where('key', '=', $key); } |
Arr::get() の第3引数には第1引数の配列の中に第2引数にしたキーが存在しない時に返す値を設定できます。
Arr – クラス – FuelPHP ドキュメント
つまり、「$array って配列の中の key ってキーの値を取得する。もし、 key ってキーがなかったら 空文字 を返してね」ってことなんです。
上のようなのが1ヶ所ならまだ良かったんですが、それが4つ5つも連続することがあるので、Arr::get() を使ったらスッキリしました。