便利なFilter関数を使いこなそう その2

※この記事は読者によって投稿されたユーザー投稿です:
  • 編集部の見解や意向と異なる内容の場合があります
  • 編集部は内容について正確性を保証できません
  • 画像が表示されない場合、編集部では対応できません
  • 内容の追加・修正も編集部では対応できません

ヒューマンリソシア株式会社はコラム「便利なFilter関数を使いこなそう その2」を公開しました。
前回は「filter関数にたどり着くまで」の例題で終わってしまいましたので。
今回こそは、お題になっているfilter関数を、しっかりと確認していきましょう。
基本的にはfilter_var()関数を中心に会話を進めていきます。
では、今までのコードと同じようにして、filter_var()関数を使ってみましょう。

function hoge($s) {
var_dump($s);
var_dump(filter_var($s, FILTER_VALIDATE_INT));
echo "\n";
}
//
hoge(''); // false
hoge('0');
hoge('1');
hoge(1.1); // false
hoge('1.1'); // false
hoge(-10);
hoge('-10');
hoge('1e2'); // false
hoge('1.1e2'); // false
hoge('0xfa20'); // false
hoge('0b0011'); // false
hoge('0777'); // false

filter_varは基本的に「フィルタで失敗したらboolean false」をreturnします。
興味深いのが’0777’です。今までこの8進数表記はどの方法でもtrueでしたが、このfilter_var()関数を使うと
falseになります。
また、戻り値がfalseではない場合「整数型の値」として返ってくるので、状況によってはとても使い勝手が
よいかもしれません。
同じような関数は工夫すれば書けるでしょうが、工夫しなくてもすでに「ある」ので、使わない理由もないと思います。
バージョン表記も「(PHP 5 >= 5.2.0)」ですので、使えない環境も、そろそろ「極めて希である」と言ってよいと
思われます。

さて。
ではこのfilter_var()関数を、少し細かくみていきましょう。
この関数自体は「指定したフィルタでデータをフィルタリングする」とだけあります。…では「整数かどうか」は、
どのように指定をしていたのでしょうか?

第一引数は「フィルタ対象の値」です。
第二引数に渡す定数(大文字で構成されているんで、定数だなぁ、というのはすぐに想像が付くところですね!)が、
フィルタの挙動をきめていきます。
今回は FILTER_VALIDATE_INT を指定したので、INTが付いている事から
「あぁ整数、って指定をしているんだろうなぁ」というのが、大体、想像の付くところになります。

この定数について、少し分解して見てみましょう。
FILTER_VALIDATE_INTのようなものを「フィルタの型(Types of filters)」と呼称しますが、
大まか3種類あります。

この続きは以下をご覧ください
http://resocia.jp/column/5228/

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

NDA
Non-Disclosure Agreementの略。一般には「秘密保持契約」と ...→用語集へ

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]