使用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的session文件夹默认保存在同一个文件,随着访客的增多,访问的速度会非常慢,例如部分管理系统后台每天登陆1000次,1个月就创建了30000个session文件,一年后是多少?假设这个系统的用户是上万人呢?方法1:每个网站使用自己的session文件夹,代码如下:<?php $pat...
在项目中需要对图片进行裁剪,前端裁剪完成发送base64给后端,但是很意外的PHP获取到的数据和前端有点差距,之前我都是先加密,后端解密,但是这次依然不行。于是使用filter_input方法轻松解决。$base64 = filter_input(INPUT_POST...
开启错误提示代码:ini_set("display_errors", "On"); error_reporting(E_ALL | E_STRICT);关闭错误提示代码:error_reporting(E_ALL ^&n...
php官方已经提供了Iterator(迭代器)接口,通过网上资料的学习,目前看适合超大集合或者数组提取使用。学习一个函数的实现对比内存占用差距.使用迭代器和普通循环实现range()函数。(1).普通循环实现range()函数。function newrange($low, $h...
<?php /** * daemonize让当前脚本为守护进程执行 * @param string $callback 匿名函数 */ function daemonize($callback) {...
【一】.迭代器迭代是指反复执行一个过程,每执行一次叫做一次迭代。比如下面的代码就叫做迭代:1. <?php 2. $data = ['1', '2', &...