最近的项目是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;
写的有点啰嗦,但是这样不容易出错,欢迎纠错!