码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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;
                        }
                    });
  • 相关阅读:
    23、Plenoxels: Radiance Fields without Neural Networks
    基于Spring Boot的宠物猫店管理系统的设计与实现毕业设计源码140909
    JAVASE 游戏
    解决mac pro 连接4k显示器严重发烫、卡顿问题
    2019银川icpc A 分组背包
    Scrum敏捷认证CSM(ScrumMaster)官方课程
    招投标系统简介 企业电子招投标采购系统源码之电子招投标系统 —降低企业采购成本
    怎么提高自己的系统架构水平
    蓝桥杯每日一题2023.10.20
    WEB自动化-04-Cypress 测试用例编写和组织
  • 原文地址:https://blog.csdn.net/qq_30986969/article/details/127564614
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号