首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP Like东西类似于MySQL Like,for if语句?

问PHP Like东西类似于MySQL Like,for if语句?
EN

Stack Overflow用户
提问于 2011-02-06 16:13:45
回答 11查看 77.3K关注 0票数 21

我想要一个if语句,它使用与mysql something LIKE '%something%'相同的东西。

我想在php中构建一个if语句。

代码语言:javascript
复制
if ($something is like %$somethingother%)

有可能吗?

我问这个问题的原因是我不想改变MySQL命令,这是一个很长的页面,上面有很多东西,我不想为此构建一个不同的函数。

让我知道如果这是可能的,如果可能的话,那么如何做到这一点。

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2011-02-06 16:19:22

if ($something类似于%$gother%)

有可能吗?

不是的。

我不想更改MySQL命令,它是一个很长的页面,上面有很多东西

使用一些优秀的编辑器,在find & replace中支持正则表达式,并将其转换为以下内容:

代码语言:javascript
复制
if(stripos($something, $somethingother) !== FALSE){

}
票数 34
EN

Stack Overflow用户

发布于 2013-10-13 18:01:11

我知道,这个问题并不实际,但我已经解决了类似的问题:)

我的解决方案是:

代码语言:javascript
复制
/**
 * SQL Like operator in PHP.
 * Returns TRUE if match else FALSE.
 * @param string $pattern
 * @param string $subject
 * @return bool
 */
function like_match($pattern, $subject)
{
    $pattern = str_replace('%', '.*', preg_quote($pattern, '/'));
    return (bool) preg_match("/^{$pattern}$/i", $subject);
}

示例:

代码语言:javascript
复制
like_match('%uc%','Lucy'); //TRUE
like_match('%cy', 'Lucy'); //TRUE
like_match('lu%', 'Lucy'); //TRUE
like_match('%lu', 'Lucy'); //FALSE
like_match('cy%', 'Lucy'); //FALSE
票数 27
EN

Stack Overflow用户

发布于 2011-02-06 16:16:43

看strstr函数

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4912294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档