thinkPHP模糊查询语句like组合写法其中一种
最近的项目是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;
写的有点啰嗦,但是这样不容易出错,欢迎纠错!
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: thinkphp多条件模糊查询
- 下一篇: el 表达式 判断字符串是否相等