【thinkphp】3.2二维数组模糊查询

浏览:2417 发布日期:2017/04/25 分类:业务逻辑 关键字: 二维数组 thinkphp
【thinkphp】3.2多维数组模糊查询
我们在做数据列表的时候 把文章列表数据缓存到缓存里
取出来大概的结构是这样的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
但是这位小哥的有个问题 我想查询多个字段匹配的时候就不行了
只能是固定的一个
稍微修改了一下他的代码/**
 * @文章列表搜索
 * @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;
}
调用方法arrList($newsList,'1',array('title','keywords'));
评论( 相关
后面还有条评论,点击查看>>