0
我正在尋找一個解決方案,通過鍵排序多維數組,重點是我可以排序一組數組的多維,沒有自定義鍵ID和數組是集,但這個數組包含自定義鍵,我需要按日期排序:按鍵排列多維數組
我的數組是:
$newDataSet = array(
'2017-02-03' => array(
array(
array(
'name' => 'Paul',
'state' => 'in',
'date' => '2017-02-03'
),
array(
'name' => 'Paul',
'state' => 'out',
'date' => '2017-02-03'
)
)
),
'2017-01-02' => array(
array(
array(
'name' => 'John',
'state' => 'in',
'date' => '2017-01-02'
),
array(
'name' => 'John',
'state' => 'out',
'date' => '2017-01-02'
)
)
),
'2017-04-01' => array(
array(
array(
'name' => 'Smith',
'state' => 'in',
'date' => '2017-04-01'
),
array(
'name' => 'Smith',
'state' => 'out',
'date' => '2017-04-01'
)
)
)
);
uasort($newDataSet, function($a, $b) { return($a['date'] - $b['date']); });
據我瞭解usort將整理僅多維數組,所以在我的情況是錯誤的,因爲我沒有結構使用它,有沒有辦法通過按鍵順序排序?我的意思是由date
asc?
任何提示/文檔更好的理解是讚賞。
預期結果:
$newDataSet = array(
'2017-01-02' => array(
array(
array(
'name' => 'Paul',
'state' => 'in',
'date' => '2017-01-02'
),
array(
'name' => 'Paul',
'state' => 'out',
'date' => '2017-01-02'
)
)
),
'2017-02-03' => array(
array(
array(
'name' => 'John',
'state' => 'in',
'date' => '2017-02-03'
),
array(
'name' => 'John',
'state' => 'out',
'date' => '2017-02-03'
)
)
),
'2017-04-01' => array(
array(
array(
'name' => 'Smith',
'state' => 'in',
'date' => '2017-04-01'
),
array(
'name' => 'Smith',
'state' => 'out',
'date' => '2017-04-01'
)
)
)
);
是http://php.net/manual/en/function.array-multisort.php你在找什麼? –
你好@GisoStallenberg我正在尋找按日期排序ASC從數據庫中我有一個聯盟所有給我第一次和第二次,並按日期預先排序asc但根本沒有,我做了一個foreach和按日期分組並且我創建了一組新的數組,但是正如您所看到的,日期不是由ASC排序的。 Thx – ndAR
好的,對我而言,預期結果會是什麼非常不明確。你可以添加預期的結果嗎? –