首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

filter_var

(PHP 5 >= 5.2.0, PHP 7)

filter_var - 用指定的过滤器过滤变量

描述

代码语言:javascript
复制
mixed filter_var ( mixed $variable [, int $filter = FILTER_DEFAULT [, mixed $options ]] )

参数

variable

值过滤。请注意,标量值在被过滤之前会在内部转换为字符串。

filter

要应用的过滤器的ID。该类型的过滤器手册页列出了可用的过滤器。

如果省略,FILTER_DEFAULT将被使用,这相当于FILTER_UNSAFE_RAW。这将导致默认情况下不进行过滤。

options

选项的关联数组或标志的按位分隔。如果过滤器接受选项,则可以在数组的“标志”字段中提供标志。对于“回调”过滤器,应传递可调用类型。该回调必须接受一个参数,即要过滤的值,并在过滤/消毒后返回该值。

代码语言:javascript
复制
<?php
//?for?filters?that?accept?options,?use?this?format
$options?=?array(
????'options'?=>?array(
????????'default'?=>?3,?//?value?to?return?if?the?filter?fails
????????//?other?options?here
????????'min_range'?=>?0
????),
????'flags'?=>?FILTER_FLAG_ALLOW_OCTAL,
);
$var?=?filter_var('0755',?FILTER_VALIDATE_INT,?$options);

//?for?filter?that?only?accept?flags,?you?can?pass?them?directly
$var?=?filter_var('oops',?FILTER_VALIDATE_BOOLEAN,?FILTER_NULL_ON_FAILURE);

//?for?filter?that?only?accept?flags,?you?can?also?pass?as?an?array
$var?=?filter_var('oops',?FILTER_VALIDATE_BOOLEAN,
??????????????????array('flags'?=>?FILTER_NULL_ON_FAILURE));

//?callback?validate?filter
function?foo($value)
{
????//?Expected?format:?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过滤器失败。

例子

Example #1 A filter_var() example

代码语言:javascript
复制
<?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));
?>

上面的例子将输出:

代码语言:javascript
复制
string(15) "bob@example.com"
bool(false)

← filter_var_array

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com