按列值对二维数组进行排序[重复]

问题描述 投票:0回答:1

如何按

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;

}
php arrays sorting
1个回答
1
投票

usort()
应该这样做:

usort($arr, function($a, $b){return $a['last_modified']<=>$b['last_modified'];});

要反转排序的顺序,请反转传递给回调函数的参数的顺序。

演示:https://3v4l.org/NPOu9

参考:usort()

© www.soinside.com 2019 - 2024. All rights reserved.