为了账号安全,请及时绑定邮箱和手机立即绑定

是否有基于特定键排序的功能?

是否有基于特定键排序的功能?

PHP
慕斯709654 2021-11-13 17:25:08
我有一个数组,我想在运行 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_date. 我需要在为每个循环运行之前对其进行排序以显示课程
查看完整描述

2 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

我假设您使用普通的 MySQL 从数据库中获取数组。

添加ORDER BY post_date到您的查询中。


查看完整回答
反对 回复 2021-11-13
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

最好的方法是在查询中按 post_date 排序。


但是,如果你真的想用 PHP 来做,你可以使用array_multisort


并像这样使用它:


对于PHP 5.6+:


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


array_multisort($dates , SORT_NUMERIC, $yourArray);

如果PHP 版本较低:


$dates=array();

foreach ($data as $key => $row) {

   $dates[$key]  = $row['post_date'];

}


array_multisort($dates , SORT_NUMERIC, $yourArray);


查看完整回答
反对 回复 2021-11-13
  • 2 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信