Php 是否有根据特定键进行排序的功能?

Php 是否有根据特定键进行排序的功能?,php,arrays,sorting,Php,Arrays,Sorting,我有一个数组,在运行foreach循环之前,我想根据它的特定键对它进行排序 我尝试过ksort,但在这种情况下它不起作用 [0]=> object(stdClass)#4829 (23) { ["ID"]=> string(4) "4089" ["post_author"]=> string(1) "1" ["post_date"]=> string(19) "2018-10-31 06:28:57" ["pos

我有一个数组,在运行foreach循环之前,我想根据它的特定键对它进行排序 我尝试过ksort,但在这种情况下它不起作用

[0]=>
  object(stdClass)#4829 (23) {
    ["ID"]=>
    string(4) "4089"
    ["post_author"]=>
    string(1) "1"
    ["post_date"]=>
    string(19) "2018-10-31 06:28:57"
    ["post_date_gmt"]=>
    string(19) "2018-10-31 06:28:57"
    ["post_content"]=>
    string(48) "Sessions move 1 hour earlier from 30th September"
    ["post_title"]=> 'test'
}
[1]=>
  object(stdClass)#4830 (24) {
    ["ID"]=>
    string(4) "4030"
    ["post_author"]=>
    string(1) "1"
    ["post_date"]=>
    string(19) "2018-10-31 06:28:57"
    ["post_date_gmt"]=>
    string(19) "2018-10-31 06:28:57"
    ["post_content"]=>
    string(48) "Sessions move 1 hour earlier from 30th September"
    ["post_title"]=> 'test'
}
这是我从数据库中获取的数据,我想按照post_日期的排序顺序显示这些数据。
我需要在运行每个循环之前对其进行排序,以显示课程

最好的方法是在查询中按发布日期排序

然而,如果你真的想用PHP来做,你可以使用

并像这样使用它:

对于PHP5.6+:

如果是较低版本的PHP:


我假设您使用纯MySQL从数据库获取数组

将订单按发布日期添加到查询中

$dates = array_column($yourArray, 'post_date');

array_multisort($dates , SORT_NUMERIC, $yourArray);
$dates=array();
foreach ($data as $key => $row) {
   $dates[$key]  = $row['post_date'];
}

array_multisort($dates , SORT_NUMERIC, $yourArray);