使用php函数array_multisort()即可实现和SQL一样的order by排序. 例如我们需要对会员表按照主键降序排列,年龄升序排列:
//会员表数据 $list = []; $list[] = ['mid' => 5, 'name' => 'zhang', 'age' => 14]; $list[] = ['mid' => 7, 'name' => 'li', 'age' => 22]; $list[] = ['mid' => 9, 'name' => 'wang', 'age' => 29]; $list[] = ['mid' => 1, 'name' => 'gao', 'age' => 23]; //先取出mid和age foreach ($list as $key => $value) { $mids[$key] = $value['mid']; $ages[$key] = $value['age']; } //按照mid降序,age升序排列 array_multisort($mids,SORT_DESC,$ages,SORT_ASC,$list); var_dump($list);
输出结果:
array(4) { [0]=> array(3) { ["mid"]=> int(9) ["name"]=> string(4) "wang" ["age"]=> int(29) } [1]=> array(3) { ["mid"]=> int(7) ["name"]=> string(2) "li" ["age"]=> int(22) } [2]=> array(3) { ["mid"]=> int(5) ["name"]=> string(5) "zhang" ["age"]=> int(14) } [3]=> array(3) { ["mid"]=> int(1) ["name"]=> string(3) "gao" ["age"]=> int(23) } }
php官方的超全局变量$_SERVER['PHP_SELF']也能直接获取,只不过如果url参数太多也会获取。下面提供一个方法获取/* * 获取当前PHP文件名称 */ if (!function_exists('phpself...
php生成器的方法getReturn获取生成器迭代完成后的返回值,当生成器迭代完成会将生成器的返回值返回,因此如果迭代器未进行迭代是获取不到值的,如果你没有return值则返回null,参考代码:<?php function G1() { &nbs...
本教程使用的定时任务基于EasyTak,EasyTask官方文档:https://gitee.com/392223903/EasyTask由于tp3.2.x官方开发未考虑命令行支持和绝对路径开发的标准,因此我编写了一个支持的类来运行。1.在tp3.2.3根目录下安装easytaskcomposer&...
本文基于Laravel Framework 6.17.1版本(1).创建项目(依赖真多,如此臃肿)composer create-project --prefer-dist laravel/laravel blog(2).安装定时任务composer包&nbs...
项目中需要加密超长json内容才发现rsa加密长度有限制,于是换一种思路:我们将原本需要加密的内容拆分为多个字符串,一段一段的加密,解密端也是一段一段的解密即可完成。(1).确认每次加密多少长度首先我们要知道rsa加密长度是多少,1024位的rsa能加密的长度也是1024位。那么我们一次加密多长的字...
本教程使用的定时任务基于EasyTak,EasyTask官方文档:https://gitee.com/392223903/EasyTask(1).安装tp6composer create-project topthink/think tp(2).安装定时任务compos...