thinkPHP模糊查询语句like组合写法其中一种

本文介绍了一种使用ThinkPHP框架结合SQL Server数据库实现的无序模糊查询方法,该方法允许用户输入的关键词顺序任意,系统仍能正确匹配并返回结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近的项目是thinkPHP搭配sqlserver开发

客户对网站搜索提出的要求不止是模糊查询(php的语句查询条件是like ‘%关键词%’),而是无序也能查询(即输入‘词关键’、‘词键关’、‘关词键’、‘键关词’、‘键词关’……也能查询)

分析:需要把关键词每个字符分离,用and链接       like ‘%关%’、like ‘%键%’、like ‘%词%’

具体的写法是:

/*无序模糊查询*/
$where = array();
$arr_keyword = preg_split('/(?<!^)(?!$)/u', $keyword );//中文要防止乱码
$where_tit = array();
array_push($where_tit,'like');
$ARR = array();
for($i=0;$i<count($arr_keyword);$i++){
    array_push($ARR,'%'.$arr_keyword[$i].'%');
}
array_push($where_tit,$ARR);
array_push($where_tit,'AND');
$where['Title'] = $where_tit;

写的有点啰嗦,但是这样不容易出错,欢迎纠错!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值