我想按日期使用usort()排序多維數組,但我似乎無法使其工作。按日期排序多維數組使用日期
開始陣列:
$dayEvents = array();
$dayEvents['output'] = array();
而且它被賦予像這樣:
$dayEvents['output'][] = array('date' => $dateStamp, 'data' => $dataOutput, 'ad' => $allDay);
輸出示例:
array(1) {
["output"]=>
array(6) {
[0]=>
array(3) {
["date"]=>
string(19) "2014-03-12 00:00:00"
["data"]=>
string(115) "
2 tests were booked
"
["ad"]=>
int(1)
}
[1]=>
array(3) {
["date"]=>
string(19) "2014-03-12 08:30:00"
["data"]=>
string(316) "
08:30am
Matamata Class 1 R & F
"
["ad"]=>
int(0)
}
[2]=>
array(3) {
["date"]=>
string(19) "2014-03-12 08:00:00"
["data"]=>
string(319) "
08:00am-04:00pm
Truck Course
"
["ad"]=>
int(0)
}
[3]=>
array(3) {
["date"]=>
string(19) "2014-03-12 08:00:00"
["data"]=>
string(328) "
08:00am-03:30pm
Trade Ed Rot Class 2
"
["ad"]=>
int(0)
}
[4]=>
array(3) {
["date"]=>
string(19) "2014-03-12 08:00:00"
["data"]=>
string(326) "
08:00am-03:30pm
Trade Ed Tga Class 2
"
["ad"]=>
int(0)
}
[5]=>
array(3) {
["date"]=>
string(19) "2014-03-12 17:00:00"
["data"]=>
string(330) "
05:00pm-08:00pm
Tauranga Truck Course
"
["ad"]=>
int(0)
}
}
}
對它進行排序的語句:
if(count($dayEvents['output'])>1) {
uasort($dayEvents, 'date_compare');
}
和函數本身:
function date_compare($a, $b) {
return strtotime($a['date']) > strtotime($b['date']);
}
最後輸出數據
foreach($dayEvents as $outputData) {
$calendar .= $outputData['data'];
}
但它只是不按日期排序,而我得到的錯誤Notice: Undefined index: data
燦任何人看到我要去哪裏錯了?我以前從未使用過usort,並且我試圖從這裏的問題開始遵循的所有說明似乎都不起作用。
你能後的代碼的較大塊?另外,你知道哪一行產生錯誤嗎? – larsAnders