関数・クラス解説

filter_var

version:PHP 5 >= 5.2.0, PHP 7 (公式)

指定したフィルタでデータをフィルタリングする

公式リファレンス

書式

filter_var ( mixed $variable [, int $filter = FILTER_DEFAULT [, mixed $options ]] ) : mixed

パラメータ

variable
フィルタリングする値。値をフィルタリングする前に、 内部的に 文字列への変換 が行われることに注意しましょう。
filter
適用するフィルタの ID。フィルタの型 に、利用できるフィルタの一覧があります。 省略した場合は FILTER_DEFAULT を使います。これは FILTER_UNSAFE_RAW と同等です。 結果的に、デフォルトでは何もフィルタリングをしません。
options
オプションあるいはフラグの論理和の連想配列。 オプションを指定可能なフィルタの場合、この配列の "flags" フィールドにフラグを指定します。 "callback" フィルタの場合は、callable 型を渡さなければなりません。 コールバックは、フィルタリングする値を引数として受け取り、 処理後の値を返すようにしなければなりません。
// オプションを許可するフィルタは、このような形式となります $options = array(     'options' => array(         'default' => 3, // フィルタが失敗した場合に返す値         // その他のオプションをここに書きます         'min_range' => 0     ),     'flags' => FILTER_FLAG_ALLOW_OCTAL, ); $var = filter_var('0755', FILTER_VALIDATE_INT, $options); // フラグのみを許可するフィルタは、それを直接記述します $var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE); // フラグのみを許可するフィルタは、配列として渡すこともできます $var = filter_var('oops', FILTER_VALIDATE_BOOLEAN,                   array('flags' => FILTER_NULL_ON_FAILURE)); // コールバック検証フィルタ function foo($value) {     // 期待する書式: Surname, GivenNames     if (strpos($value, ", ") === false) return false;     list($surname, $givennames) = explode(", ", $value, 2);     $empty = (empty($surname) || empty($givennames));     $notstrings = (!is_string($surname) || !is_string($givennames));     if ($empty || $notstrings) {         return false;     } else {         return $value;     } } $var = filter_var('Doe, Jane Sue', FILTER_CALLBACK, array('options' => 'foo'));

返値

フィルタリングされたデータ、あるいは処理に失敗した場合に FALSE を返します。

サンプル

例1 filter_var() の例

var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL)); var_dump(filter_var('http://example.com', FILTER_VALIDATE_URL, FILTER_FLAG_PATH_REQUIRED));

上の例の出力は以下となります。

string(15) "bob@example.com" bool(false)

参考

  • filter_var_array() - 複数の変数を受け取り、オプションでそれらをフィルタリングする
  • filter_input() - 指定した名前の変数を外部から受け取り、オプションでそれをフィルタリングする
  • filter_input_array() - 外部から変数を受け取り、オプションでそれらをフィルタリングする
  • フィルタの型
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール