我有一个数组[all_comments],其中包含3个数组 - [title],[content]和[date]。
我想按[date]排序[all_comments]。我在这个论坛上尝试了很多日期比较功能,但似乎没有什么对我有用。感谢任何帮助或建议 - 谢谢!
这些是我一直在尝试的功能:
function date_compare($a, $b)
{
$t1 = strtotime($a['date']);
$t2 = strtotime($b['date']);
return $t1 - $t2;
}
这就是我的数组的样子:
[all_comments] = Array
(
[title] => Array
(
[0] => bis posted an update in the group Strategic Resourcing
[1] => bis posted a new activity comment
[2] => bis posted a new activity comment
[3] => bis posted an update
[4] => bis posted an update in the group Managing for Performance
)
[content] => Array
(
[0] => @david hey david the meeting earlier was very interesting - thanks!
[1] => Strategic Resourcing & Onboarding description.
[2] => And another one to the original reply
[3] => This is a sample reply.
[4] => This is a new entry - does it go to the forum?
)
[date] => Array
(
[0] => 13-11-2013 5:36:48
[1] => 24-10-2013 9:52:48
[2] => 12-11-2013 12:40:46
[3] => 14-11-2013 2:26:04
[4] => 13-11-2013 5:39:49
)
)
这就是我调用函数的方式:
usort($all_comments,"date_compare");
这就是我打印数组的方式:
for($k=0;$k<count($all_comments ['title']);$k++){
echo ($all_comments ['title'][$k]) . "<br />";
echo ($all_comments ['content'][$k]) . "<br />";
echo ($all_comments ['date'][$k]) . "<br /><br />";
echo "<br />";
}
排序后没有打印,但没有排序未排序的数组打印正常。
我最终想要的是一个排序数组,如下所示:
[sorted_array] = Array
(
[0] => Array
(
bis posted an update
This is a sample reply
14-11-2013 2:26:04
)
[1] => Array
(
bis posted an update in the group Managing for Performance
This is a new entry - does it go to the forum?
13-11-2013 5:39:49
)
[2] = Array
(
bis posted an update in the group Strategic Resourcing
@david hey david the meeting earlier was very interesting - thanks!
13-11-2013 5:36:48
)
[3] => Array
(
bis posted a new activity comment
And another one to the original reply
12-11-2013 12:40:46
)
[4] => Array
(
bis posted a new activity comment
Strategic Resourcing & Onboarding description.
24-10-2013 9:52:48
)
)
答案 0 :(得分:0)
已更新答案: 您的阵列结构不正确。首先对其进行以下修改:
<?php
$all_comments = array
(
"title" => array
(
0 => "bis posted an update in the group Strategic Resourcing",
1 => "bis posted a new activity comment",
2 => "bis posted a new activity comment",
3 => "bis posted an update",
4 => "bis posted an update in the group Managing for Performance",
),
"content" => Array
(
0 => "@david hey david the meeting earlier was very interesting - thanks!",
1 => "Strategic Resourcing & Onboarding description.",
2 => "And another one to the original reply",
3 => "This is a sample reply.",
4 => "This is a new entry - does it go to the forum?",
),
"date" => Array
(
0 => "13-11-2013 5:36:48",
1 => "24-10-2013 9:52:48",
2 => "12-11-2013 12:40:46",
3 => "14-11-2013 2:26:04",
4 => "13-11-2013 5:39:49",
),
);
$newArr = array();
foreach($all_comments as $masterKey => $masterValue) {
foreach ($masterValue as $key => $value) {
$newArr[$key][$masterKey] = $value;
}
}
var_dump($newArr);