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

ヒューマンリソシア 2016/1/22(金) 17:16 tweet16このエントリーをはてなブックマークに追加 印刷用
※この記事は読者によって投稿されたユーザー投稿のため、編集部の見解や意向と異なる場合があります。また、編集部はこの内容について正確性を保証できません。

ヒューマンリソシア株式会社はコラム「便利な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/

tweet16このエントリーをはてなブックマークに追加
用語集 PHP
日本赤十字社 東日本大震災 義援金募集
Web担メルマガでラクラク情報ライフを
注目記事が毎週手もとに届いて見逃さない
要チェックのセミナー情報もゲットできる
編集長コラムを一足先に読める
―― 10万人が読んでいる、Web担必読メルマガです

今日の用語

検索エンジン
Yahoo!(ヤフー)やGoogle(グーグル)に代表される、インターネット上の ... →用語集へ

連載/特集コーナーから探す

インフォメーション

Web担のメルマガを購読しませんか?
Web担の記事がコンパクトに毎週届くメールマガジン「Web担ウィークリー」は、10万人が読んでいる人気メルマガ。忙しいあなたの情報収集力をアップさせる強い味方で、お得な情報もいち早く入手できます。

Web担に広告を掲載しませんか?
購読者数10万人のメールマガジン広告をはじめとする広告サービスで、御社の認知向上やセミナー集客を強力にお手伝いいたします。

サイトマップ
RSSフィード


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

GOLD SPONSOR
さくらインターネット株式会社株式会社KDDI ウェブコミュニケーションズ株式会社日本レジストリサービスHP Softwareトランスコスモス株式会社株式会社ハイパーボックスDomain Keeperアドビ システムズ 株式会社
SPONSOR
株式会社キノトロープ株式会社アイレップ株式会社ニューズ・ツー・ユーシックス・アパート株式会社ウェブアンテナ株式会社サイバーエージェント富士通株式会社SitecoreYahoo!プロモーション広告Oracle