我们在做数据列表的时候 把文章列表数据缓存到缓存里 取出来大概的结构是这样的
代码语言:javascript复制Array
(
[0] => Array
(
[id] => 16
[title] => oupoipoipoipoip
[keywords] =>oupoipoipoipoip
)
[1] => Array
(
[id] => 15
[title] => qweqweqweqweqwe
[keywords] => qweqweqweqweqweqweqweqweqweqweqweqweqweqweqweqweqweqweqweqwe
)
[2] => Array
(
[id] => 14
[title] => asdasdasdasdasd
[keywords] =>asdasdasdasdasd
)
[3] => Array
(
[id] => 13
[title] => zxczczxczxc
[keywords] => zxczczxczxc
)
[4] => Array
(
[id] => 12
[title] => rtyrtyrtyrtyrtyr
[keywords] => rtyrtyrtyrtyrtyr
)
)
这样我们进行模糊查询 百度好久 最终在tp官网看到一个代码 http://www.thinkphp.cn/code/3030.html 但是这位小哥的有个问题 我想查询多个字段匹配的时候就不行了 只能是固定的一个 稍微修改了一下他的代码
代码语言:javascript复制/**
* @文章列表搜索
* @2017年4月25日15:13:52
*/
function arrList($arrs,$keywords=NULL,$type=array('title')){
foreach ($arrs as $key => $searchData) {
$arr = array();
foreach($searchData as $values=>$v ) {
for ($i=0;$i<count($type);$i ){
if ($values==$type[$i]){
array_push($arr, $values);
}
}
}
for ($a=0;$a<count($arr);$a ){
if (strpos($searchData[$arr[$a]],$keywords)) {
$result[] = $searchData;
}
}
}
return $result;
}
调用方法
代码语言:javascript复制arrList($newsList,'1',array('title','keywords'));