【发布时间】:2018-04-19 10:59:05
【问题描述】:
不确定之前是否有人问过这个问题,但谁能帮我按日期(latest_user_activity_date)在数组下方排序。我试图在互联网上搜索,但我没有对这个进行排序。我曾尝试使用 array_multisort 函数,但它只对第一个索引(管理员)进行排序。我使用的是 PHP 5.3 版本。
Array
(
[admin] => Array
(
[0] => Array
(
[id] => 3
[user_type] => Accountant
[latest_user_activity_date] => 2000 - 00 - 00 00: 00: 00
[full_link] => admin / billing_contacts.app
)
[1] => Array
(
[id] => 1
[user_type] => Accountant
[latest_user_activity_date] => 2018 - 04 - 19 13: 18: 59.112704
[full_link] => admin / billing_contacts.app
)
[2] => Array
(
[id] => 2
[user_type] => Accountant
[latest_user_activity_date] => 2018 - 04 - 15 13: 18: 59.112704
[full_link] => admin / client_upload.app
)
)
[invoice] => Array
(
[0] => Array
(
[id] => 3
[user_type] => Accountant
[latest_user_activity_date] => 2000 - 00 - 00 00: 00: 00
[full_link] => admin / create_invoice.app
)
[1] => Array
(
[id] => 1
[user_type] => Accountant
[latest_user_activity_date] => 2018 - 04 - 19 13: 18: 59.112704
[full_link] => admin / list_invoice.app
)
[2] => Array
(
[id] => 2
[user_type] => Accountant
[latest_user_activity_date] => 2018 - 04 - 20 13: 18: 59.112704
[full_link] => admin / delete_invoice.app
)
)
)
期望的输出:
Array
(
[invoice] => Array
(
[8] => Array
(
[id] => 2
[user_type] => Accountant
[latest_user_activity_date] => 2018-04-20 13:18:59.112704
[full_link] => admin/delete_invoice.app
)
[7] => Array
(
[id] => 1
[user_type] => Accountant
[latest_user_activity_date] => 2018-04-19 13:18:59.112704
[full_link] => admin/list_invoice.app
)
[6] => Array
(
[id] => 3
[user_type] => Accountant
[latest_user_activity_date] => 2000-00-00 00:00:00
[full_link] => admin/create_invoice.app
)
)
[admin] => Array
(
[4] => Array
(
[id] => 1
[user_type] => Accountant
[latest_user_activity_date] => 2018-04-19 13:18:59.112704
[full_link] => admin/billing_contacts.app
)
[5] => Array
(
[id] => 2
[user_type] => Accountant
[latest_user_activity_date] => 2018-04-15 13:18:59.112704
[full_link] => admin/client_upload.app
)
[2] => Array
(
[id] => 3
[user_type] => Accountant
[latest_user_activity_date] => 2000-00-00 00:00:00
[full_link] => admin/billing_contacts.app
)
)
)
如您所见,“invoice”索引现在位于顶部,因为它在“latest_user_activity_date”字段中具有最新值。请如果有人知道如何解决这个问题,请提供帮助。谢谢!
【问题讨论】:
-
感谢@Matheus Cuba,但我相信这不是重复的。我正在使用 PHP 5.3 b d 方式。
-
您是否意识到这实际上不是一个有效的日期 -
2000-00-00 00:00:00? -
嗨@fubar,这只是一个虚拟数据。它仍将被转换为时间戳 strtotime('2000-00-00 00:00:00');
-
@Tony - 它仍会被转换,但不会转换为您可能期望的任何东西。
strtotime('2000-00-00 00:00:00')是1999-11-30转换回日期时。但足够公平。
标签: html arrays array-multisort