• TP5.1 对数组进行排序


    1、当数据库里某个字段是存的多个值用逗号拼接的,类似于“1,2,3,4,5”;如果你想通过sql查这个字段包含1的数据,怎么查?我来告诉你。tp5.1的框架里面的where条件是这样写的:

    $where[] = ['','exp',Db::raw("FIND_IN_SET(".$param['field'].",type)")];

    注:   控制器先use think\Db,其中field是传过来的值,type是数据库里的字段名。

    2、通过某个字段给数组排序,如果不方便用sql排序的话可以用这个。

    $last_names = array_column($userData,'patrol');
    array_multisort($last_names,SORT_DESC,$userData);

    注:array_column()函数是取出数组中的的"patrol"(自定义字段)一列,然后通过array_multisort()函数排序。SORT_DESC倒序排,$userData是要排序的数组。

    3、通过两个字段给数组排序,如果不方便用sql排序的话可以用这个

    点击查看代码

    //控制器里的代码
    
    1. usort($list, array('\app\admin\model\Ceshi','order
    2. _sort'));
    //模型里的方法
    
    1. public static function order_sort($a, $b){
    2. if ($a['status'] == $b['status']) {
    3. return ($a['number'] > $b['number']) ? -1 : 1;
    4. }
    5. return ($a['status'] > $b['status']) ? -1 : 1;
    6. }

    注:\app\admin\model\Ceshi是模型路径 ,order_sort是排序的方法,$list是要排序的数组,$a和$b是默认参数,不需要变,“status”是第一个排序值,“number”是第二个排序值。

    4、数据库查询优化,缩短接口请求时间

     

    1游标
            $cursor = Db::connect('库名')
                ->table('表名')
                ->field('count(查询的字段) as count,字段')
                ->where($where)
                ->group('分组的字段')
                ->cursor();
            foreach($cursor as $cursor_key => $cursor_value){
                $estimer_count[$cursor_key] = $cursor_value;
            }
    
    2分块
         $master = array();
                $chunk = Db::connect('库名')
                    ->table('表名')
                    ->field('字段1, 字段2')
                    ->where($map)
                    ->chunk(10000, function ($events) use (&$master) {
                        foreach ($events as $event_value) {
                            $master[] = $event_value;
                        }
                    });
  • 相关阅读:
    武汉新时标文化传媒有限公司短视频中需要的平台和软件都是这样的
    机器学习之深度学习简介
    openGauss的索引组织表
    Java高级-stream流
    Speedoffice(Excel)中如何添加页眉页脚
    JS操作字符串方法学习系列(5)-每天学习10个方法
    宠物赛道,用AI定制宠物头像搞钱项目教程
    java版 设计一个程序, 输入a,b,c三个整数, 输出最大的数.
    十二、模板方法模式
    同步代码和异步代码
  • 原文地址:https://blog.csdn.net/qq_30986969/article/details/127564614