php - 按值对数组的数组进行排序
问题描述
如何按last_modified
值对该数组进行排序?
array(1606) {
[0]=>
array(16) {
["name"]=>
string(16) "La casa de papel"
["last_modified"]=>
string(10) "1586198606"
}
[1]=>
array(16) {
["name"]=>
string(8) "Sintonia"
["last_modified"]=>
string(10) "1586015522"
}
[2]=>
array(16) {
["name"]=>
string(10) "Outra Vida"
["last_modified"]=>
string(10) "1608409121"
}
[3]=>
array(16) {
["name"]=>
string(15) "Law & Order: UK"
["last_modified"]=>
string(10) "1619515436"
}
}
目前,这是我的代码,没什么特别的:
$position = 0;
while ($position < count($arr)) {
echo $arr[$position]["name"] . " - ";
echo date('d/m/Y - H:i', $arr[$position]["last_modified"]) . "<br>\n";
$position = $position + 1;
}
解决方案
usort()
应该这样做:
usort($arr, function($a, $b){return $a['last_modified']<=>$b['last_modified'];});
要反转排序顺序,请反转传递给回调函数的参数的顺序。
参考:usort()
推荐阅读
- android - 禁用一个文件的 ANDROID 编译标志
- ruby-on-rails - Rails 和 Wordpress 单点登录 - 使用设计进行身份验证
- search-engine - 如何在 Google 中搜索具有特定查询参数的内部链接
- simulation - 在 NetLogo 中模拟烟雾的扩展
- scala - Scala 发散隐式扩展
- sql - where 子句中的 case 导致错误:在预期条件的上下文中指定的非布尔类型的表达式,靠近 ')'
- php - 在codeigniter中过滤数据时分页不起作用
- javascript - REACT 问题 [object object] 选择 OnChange
- python-3.x - 如何检查我的数据框每一列中的任何条目是否是数字?
- verilog - 如何重新播种静态进程的 RNG?