便利なFilter関数を使いこなそう その1
- 編集部の見解や意向と異なる内容の場合があります
- 編集部は内容について正確性を保証できません
- 画像が表示されない場合、編集部では対応できません
- 内容の追加・修正も編集部では対応できません
ヒューマンリソシア株式会社はコラム「便利なFilter関数を使いこなそう その1」を公開しました。
PHPの上級試験範囲で、かつ実務で「大変に便利」な関数の一つに、今回取り扱うfilter関数、があります。
今回から数回を使って、このfilter関数を色々と試していきたいと思います。
まず「フィルタリングってなんぞや?」というお話になるのですが。
物凄くざっくりといきますと「よい感じのものは通して、ダメな感じのものは弾く」機能になります。
フィルター、と言いますと「漉したりふるい分けたりするもの」ですので、大体そんな感じですね。
さて。
Webアプリケーションなんぞを作っておりますと、ユーザさんからの「データ入力」が、
これはほぼ必ず発生するかと思います。
いわゆる「validate」のお話になるのですが、分かりやすいところで1つ、例題を出して考察をしてみましょう。
「入力は数値のみにしたい」とします。
年齢、とか、分かりやすいですね。
では、PHPで「入力が整数のみである」というのを、どうやって判定しましょう?
「PHP 整数 検査」といったキーワードで検索したときに、一つよく出てくる関数に「is_int()」があります。
ちなみに「is_long()」って関数名は存在しますが「is_int() のエイリアス」なので、is_int()で会話を進めます。
この関数は「値が整数かどうか」を調べるためのもの”ではありません”。
間違えやすいところなのですが、この関数は「変数の型がint型であるかどうか」を判定するためのものです。
また一報で、formからの入力である$_POSTやら$_GETの値は「常に文字列型」です。
故に、この関数を「入力が整数であるかどうか」という文脈で使うのは、大きく誤り、になります。
では、どのように判定をするのがよいのでしょうか?
一つ比較的分かりやすい関数としてis_numeric()があります。
コードを見てみましょう。
この続きは以下をご覧ください
http://resocia.jp/column/5221/
ソーシャルもやってます!