【发布时间】:2021-08-22 23:01:46
【问题描述】:
我有一个来自 Wild Apricot 会员管理系统的 php (Laravel) api 查询,它返回一个具有以下结构的事件数组(见下文)。我想按 StartDate 升序对数组进行排序,以准备完成并传递给 Laravel 选择器小部件的数组显示。想知道最好的方法是什么......任何想法和/或想法都会受到欢迎!将继续测试并进行测试,但我认为无论如何我都会将其发布在这里。 ;-P
{
"Events": [
{
"Id": 4077234,
"Url": "https://api.wildapricot.org/v2.2/accounts/ACCOUNTID/Events/4077234",
"EventType": "Regular",
"StartDate": "2021-12-03T19:00:00+11:00",
"EndDate": "2021-12-05T15:30:00+11:00",
"Location": "LOCATION1",
"RegistrationEnabled": true,
"RegistrationsLimit": 1,
"PendingRegistrationsCount": 0,
"ConfirmedRegistrationsCount": 1,
"CheckedInAttendeesNumber": 0,
"Tags": [],
"AccessLevel": "Restricted",
"StartTimeSpecified": true,
"EndTimeSpecified": true,
"HasEnabledRegistrationTypes": true,
"Name": "NAME1"
},
{
"Id": 4334234,
"Url": "https://api.wildapricot.org/v2.2/accounts/ACCOUNTID/Events/4334234",
"EventType": "Regular",
"StartDate": "2021-11-27T00:00:00+11:00",
"EndDate": "2021-11-28T00:00:00+11:00",
"Location": "LOCATION2",
"RegistrationEnabled": true,
"RegistrationsLimit": 50,
"PendingRegistrationsCount": 0,
"ConfirmedRegistrationsCount": 9,
"CheckedInAttendeesNumber": 0,
"Tags": [],
"AccessLevel": "Restricted",
"StartTimeSpecified": false,
"EndTimeSpecified": false,
"HasEnabledRegistrationTypes": true,
"Name": "NAME2"
},
}
这是正在完成的查询..
$queryParams3 = array(
'$async' => 'false',
// We want the list of events
// https://api.wildapricot.org/v2.2/accounts/ACCOUNTID/Events?$filter=(StartDate gt 2021-05-01)
'$filter' => "(StartDate gt 2021-05-01)"
);
$url3 = $accountUrl . '/Events/?' . http_build_query($queryParams3);
$eventsResult = $waApiClient->makeRequest($url3); // json is returned > have been done a json_decode on it..
$events = $eventsResult['Events'];
想要这样做的原因是,它只是让用户更容易阅读当前事件(例如最接近今天的日期)与更远的事件中列出的事件......作为背景信息,这是对于我正在构建的小型短信门户。 ;-P
【问题讨论】:
-
这能回答你的问题吗? Sort array of objects by object fields
标签: php arrays laravel sorting multidimensional-array