[英]Use array_multisort to arrange arrays by date
我建立了一組數組,我試圖使用array_multisort按“開始”日期(HH:mm)進行排序。 該數組如下所示:
Array
(
[start] => 13:00
[end] => 14:00
[title] => An event
[day] => Monday
)
Array
(
[start] => 00:00
[end] => 06:00
[title] => An event
[day] => Monday
)
Array
(
[start] => 06:00
[end] => 13:00
[title] => An event
[day] => Monday
)
我想通過“開始”命令這些命令,因此它們應如下所示:
Array
(
[start] => 00:00
[end] => 06:00
[title] => An event
[day] => Monday
)
Array
(
[start] => 06:00
[end] => 13:00
[title] => An event
[day] => Monday
)
Array
(
[start] => 13:00
[end] => 14:00
[title] => An event
[day] => Monday
)
我正在嘗試使用array_multisort。 下面是我的完整代碼。 我已經將'array_multisort'應用於$ monday,但是被忽略了。 知道我在做什么錯嗎?
foreach ($rows as $row) {
if ($row['day'] == 'Monday') {
$monday = array
(
'start' => $row['start_time'],
'end' => $row['end_time'],
'title' => get_the_title(),
'day' => $row['day'],
);
}
}
array_multisort($monday, SORT_ASC);
print_r($monday);
嘗試這個
function my_cmp($a, $b) {
return strcmp($a["start"], $b["start"]);
}
usort($monday, "my_cmp");
編輯
你應該說你想要什么...
這可以使你除了
$mondays = array();
foreach ($rows as $row) {
foreach ($row as $day) {
if ($row['day'] == 'Monday') {
$mondays[] = array(
'start' => $row['start_time'],
'end' => $row['end_time'],
'title' => get_the_title(),
'day' => $row['day'],
);
}
}
}
function cmp($a, $b) {
return strcmp($a["start"], $b["start"]);
}
usort($mondays, "cmp");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.