UNPKG

manual-php

Version:
115 lines (84 loc) 3.25 kB
# 过滤器 * [filter_has_var - 检测是否存在指定类型的变量](#filterhasvar) * [filter_id - 返回与某个特定名称的过滤器相关联的 ID](#filterid) * [filter_input_array - 获取一系列外部变量,并且可以通过过滤器处理它们](#filterinputarray) * [filter_input - 通过名称获取特定的外部变量,并且可以通过过滤器处理它](#filterinput) * [filter_list - 返回所支持的过滤器列表](#filterlist) * [filter_var_array - 获取多个变量并且过滤它们](#filtervararray) * [filter_var - 使用特定的过滤器过滤一个变量](#filtervar) ## filter_has_var ```php <?php var_dump(filter_has_var(INPUT_GET, 'foo')); var_dump(filter_has_var(INPUT_POST, 'foo')); var_dump(filter_has_var(INPUT_COOKIE, 'foo')); var_dump(filter_has_var(INPUT_SERVER, 'foo')); var_dump(filter_has_var(INPUT_ENV, 'foo')); ``` ## filter_id ```php <?php var_dump(filter_id('validate_regexp')); // int(272) var_dump(filter_id('validate_url')); // int(273) var_dump(filter_id('validate_email')); // int(274) var_dump(filter_id('validate_ip')); // int(275) ``` ## filter_input_array ```php <?php $filter = [ 'int' => FILTER_VALIDATE_INT, 'boolean' => FILTER_VALIDATE_BOOLEAN, 'float' => FILTER_VALIDATE_FLOAT, 'url' => FILTER_VALIDATE_URL, 'email' => FILTER_VALIDATE_EMAIL, 'ip' => FILTER_VALIDATE_IP ]; var_dump(filter_input_array(INPUT_GET, $filter)); ``` ## filter_input ```php <?php var_dump(filter_input(INPUT_GET, 'int', FILTER_VALIDATE_INT)); var_dump(filter_input(INPUT_GET, 'boolean', FILTER_VALIDATE_BOOLEAN)); var_dump(filter_input(INPUT_GET, 'float', FILTER_VALIDATE_FLOAT)); var_dump(filter_input(INPUT_GET, 'url', FILTER_VALIDATE_URL)); var_dump(filter_input(INPUT_GET, 'email', FILTER_VALIDATE_EMAIL)); var_dump(filter_input(INPUT_GET, 'ip', FILTER_VALIDATE_IP)); ``` ## filter_list ```php <?php var_dump(filter_list()); ``` ## filter_var_array ```php <?php $data = [ 'int' => '0755', 'boolean' => 'true', 'float' => '122.34343', 'url' => 'https://github.com/', 'email' => 'user@example.com', 'ip' => '2130706433' ]; $filter = [ 'int' => FILTER_VALIDATE_INT, 'boolean' => FILTER_VALIDATE_BOOLEAN, 'float' => FILTER_VALIDATE_FLOAT, 'url' => FILTER_VALIDATE_URL, 'email' => FILTER_VALIDATE_EMAIL, 'ip' => FILTER_VALIDATE_IP ]; var_dump(filter_var_array($data, $filter)); // array(6) { ["int"]=> bool(false) ["boolean"]=> bool(true) ["float"]=> float(122.34343) ["url"]=> string(19) "https://github.com/" ["email"]=> string(16) "user@example.com" ["ip"]=> bool(false) } ``` ## filter_var ```php <?php var_dump(filter_var('0755', FILTER_VALIDATE_INT)); // bool(false) var_dump(filter_var('true', FILTER_VALIDATE_BOOLEAN)); // bool(true) var_dump(filter_var('122.34343', FILTER_VALIDATE_FLOAT)); // float(122.34343) var_dump(filter_var('https://github.com/', FILTER_VALIDATE_URL)); // string(19) "https://github.com/" var_dump(filter_var('user@example.com', FILTER_VALIDATE_EMAIL)); // string(16) "user@example.com" var_dump(filter_var('2130706433', FILTER_VALIDATE_IP)); // bool(false) ```