当前位置: 首页 > 知识库问答 >
问题:

如果值与筛选器匹配,如何使用筛选器_var返回true或false?

濮俊美
2023-03-14

有没有一种方法可以在php中使用filter_var在值与正确的过滤器匹配时返回true,否则返回false?

我想得到的是:

filter_var('email@example.com', FILTER_VALIDATE_EMAIL) => true
filter_var('http://google.com', FILTER_VALIDATE_URL) => true
filter_var('http://google', FILTER_VALIDATE_URL) => false
filter_var('test', FILTER_VALIDATE_EMAIL) => false

非常感谢。

共有3个答案

郝昊东
2023-03-14

如果有效,它将返回过滤后的值,否则返回false,因此这应该可以工作。

$valid_email = filter_var('email@example.com', FILTER_VALIDATE_EMAIL) ? true : false;

网址也一样

$valid_url = filter_var('http://google.com', FILTER_VALIDATE_URL) ? true : false; 
马胜泫
2023-03-14

我会用这样简单的东西:

(bool) filter_var('email@example.com', FILTER_VALIDATE_EMAIL);

这将始终导致布尔值:https://3v4l.org/BvAdE

还要注意,您说过您希望第三个示例返回false但是http://google是一个完全有效的URL。

苏乐童
2023-03-14

把这个函数包装成一个满足您需求的函数怎么样?例如:

function my_filter_var($a, $b) {
    if(filter_var($a, $b)===false){
        return false;
    }
    else {
        return true;
    }
}

然而,我不建议使用它,因为它是对函数的不必要调用,当你可以在不实际调用函数的情况下实现你想要的东西时(因为调用函数是昂贵的)。发布此函数只是因为您想要以特定格式输出。

因此,此函数将按如下方式工作:

my_filter_var('email@example.com', FILTER_VALIDATE_EMAIL) => true
my_filter_var('http://google.com', FILTER_VALIDATE_URL) => true
my_filter_var('http://google', FILTER_VALIDATE_URL) => false
my_filter_var('test', FILTER_VALIDATE_EMAIL) => false

您应该使用我在函数中所做的,而不是创建函数。

 类似资料:
  • 我的spring boot应用程序配置为Reactive。但是我的REST APIendpoint配置为返回ResponseEntity而不使用Mono或flux。 我想实现过滤器,这将检查每个endpoint的传入头。旧的Servlet过滤器当然不起作用,新的WebFilter对webflux和其他过滤器也不起作用。

  • 我检查了这个问题,在elasticsearch中查询DSL中必须和过滤器有什么区别?并阅读答案。 据我所知,必须和过滤器应该返回相同的结果。我说的对吗?但是当我把过滤查询改为必须时,我收到了更多的结果?我做错了什么? 我比较了过滤器,必须查询并得到不同的结果。

  • 我看不到任何关于何时应该使用查询或过滤器或两者结合的描述。他们之间有什么区别?谁能解释一下吗?

  • 目前 我在DynamoDB中有一个表,其中有一个属性-主键-包含唯一的值。 问题 我希望对#B#C#(1)精确匹配和(2)包含匹配进行2次搜索,因此只需要结果: 是否可以针对主键进行这2次搜索 如果是这样,运行哪种查询最有效?e、 g.查询或扫描 注: 对于(2),我使用以下代码,但它返回DB中的所有项:

  • 应用筛选器之前的示例使用者记录是(在值中查找GP_ID): 当我在kafkaListenerContainerFactory()中按如下方式设置recordFilterStrategy时: KafKareCordvo.ConvertByteBufferToLong正在将bytebuffer值转换为long值。 但是,当它被Kafka听众按以下方式消费时: 这将返回删除我筛选的字段值的记录:“gp_

  • 有什么建议吗?