※この記事は読者によって投稿されたユーザー投稿のため、編集部の見解や意向と異なる場合があります。 また、編集部はこの内容について正確性を保証できません。
ヒューマンリソシア株式会社はコラム「便利な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/
この記事のキーワード

人気記事トップ10

人気記事ランキングをもっと見る