filter_var

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

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

説明

filter_var(mixed$value, int$filter = FILTER_DEFAULT, array|int$options = 0): mixed

パラメータ

value

フィルタリングする値。値をフィルタリングする前に、 内部的に 文字列への変換 が行われることに注意しましょう。

filter

適用するフィルタの ID。フィルタの型 に、利用できるフィルタの一覧があります。

省略した場合は FILTER_DEFAULT を使います。これは FILTER_UNSAFE_RAW と同等です。 結果的に、デフォルトでは何もフィルタリングをしません。

options

オプションあるいはフラグの論理和の連想配列。 オプションを指定可能なフィルタの場合、この配列の "flags" フィールドにフラグを指定します。 "callback" フィルタの場合は、callable 型を渡さなければなりません。 コールバックは、フィルタリングする値を引数として受け取り、 処理後の値を返すようにしなければなりません。

<?php
// オプションを許可するフィルタは、このような形式となります
$options = array(
'options' => array(
'default' => 3, // フィルタが失敗した場合に返す値

戻り値

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

例1 filter_var() の例

<?php
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)

例2 配列をフィルタする例

<?php
$emails
= [
"bob@example.com",
"test@example.local",
"invalidemail"
];

var_dump(filter_var($emails, FILTER_VALIDATE_EMAIL, FILTER_REQUIRE_ARRAY));
?>

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

array(3) { [0]=> string(15) "bob@example.com" [1]=> string(18) "test@example.local" [2]=> bool(false) }

参考

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