manual-php
Version:
115 lines (84 loc) • 3.25 kB
Markdown
# 过滤器
* [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
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
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
$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
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
var_dump(filter_list());
```
## filter_var_array
```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
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)
```