関数の概要
PHPのfilter_list関数は、利用可能なフィルタの一覧を配列で取得するための関数です。これにより、どのフィルタが現在の環境で使えるかを確認でき、入力の検証やデータのサニタイズ(安全化)に役立ちます。主に入力のバリデーション処理を行う際の参考情報として使用されます。
パラメータの説明
- なし
この関数はパラメータを一切受け取りません。
戻り値
利用可能なフィルタ名を文字列の配列で返します。各要素はフィルタの名前(例: “int”, “boolean”, “email”など)となっています。環境によっては利用できるフィルタの種類が異なることがあります。
使用例
基本的な使い方
<?php
// 利用可能なフィルタ一覧を取得
$filters = filter_list();
// 配列の中身を表示
print_r($filters);
?>
このコードは、現在使用可能なすべてのフィルタ名を配列で取得し、print_rで画面に一覧表示します。
利用可能なフィルタの数を取得する
<?php
$filters = filter_list();
$count = count($filters);
echo "利用可能なフィルタ数は $count です。";
?>
配列の要素数を数えて、環境で使えるフィルタの数を表示する例です。環境が変わっても動的に数を取得できるため便利です。
フィルタ一覧から特定のフィルタが使えるかチェックする
<?php
$filters = filter_list();
if (in_array('email', $filters)) {
echo "emailフィルタは利用可能です。";
} else {
echo "emailフィルタは利用できません。";
}
?>
特定のフィルタ(ここでは「email」)がフィルタ一覧に含まれているかどうかを判定しています。バリデーションで使用できるかを事前にチェックする際に役立ちます。
関連する関数
filter_var()– 単一の値に対してフィルタを適用するfilter_var_array()– 配列データに対してフィルタをまとめて適用するfilter_id()– フィルタ名からフィルタのIDを取得するfilter_has_var()– 指定した入力タイプに変数が存在するかを調べる
まとめ
filter_listは、PHPの入力バリデーションやサニタイズに利用可能なフィルタの一覧を簡単に確認できる便利な関数です。特に、多様な環境やPHPバージョンで動作するコードを書く場合に、どのフィルタを使えるかを調べるための基本的なツールとして役立ちます。実践ではこの関数でフィルタ名を取得し、filter_varなどで安全にデータ処理を行う流れが一般的です。
