PHPの配列の値比較にin_arrayが便利
最近はフロントながらサーバーサイドも触れるというおいしい位置にいるため、 リンクの非表示などでもcontrollerでちゃんと出し分けする意識がつきました。
逆にviewだけ触っていた今までがどうなのって感じですが・・
フロントだとテンプレートにロジックを書きがちな現場です。他のところはどうなのかなぁ。
phpでレビューを受けて改善されたものを以下にメモ。
hogehogeという配列のid2と3に該当するものを除きたい場合。こう書いていました。
foreach ($hogehoge as $key => $hoge) { if ($hoge["id"] == 2 || $hoge["id"] == 3) { unset($hogehoge[$key]); } } return $hogehoge;
それがレビューを受けてこうなる。
foreach ($hogehoge as $key => $hoge) { if (in_array($hogehoge["id"], [2, 3])) { unset($hogehoge[$key]); } } return $hogehoge;
配列にある値をチェックするin_array
比較が配列で書けて便利。比較値の増減にも対応が簡単。
おお!と思ったのですが、レビューからさらに変更し、controllerの処理を消してmodelで取得のidを絞りました。