thinkphp3.2二维数组模糊查询

时间:2023年05月11日

/

来源:网络

/

编辑:佚名

【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'));
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。