【发布时间】:2014-03-25 06:18:50
【问题描述】:
我有一个数组,其中包含用户在网站上的活动。它包含诸如撰写 cmets、新闻和群组之类的活动。如果一个小时内写了两个(或更多)来自不同用户的 cmets,我想将这两个数组合并为一个:用户和另外 2 个对 X 发表评论。到目前为止,我的代码如下所示:
<?php
$output = array();
$output[] = array('userID' => 12, 'txt' => sprintf('%s commented in %s', 'User1', 'Event'), 'date' => 1393080072);
$output[] = array('userID' => 13, 'txt' => sprintf('%s commented in %s', 'User2', 'Event'), 'date' => 1393080076);
$output[] = array('userID' => 13, 'txt' => sprintf('%s created the news %s', 'User2', 'RANDOMNEWS'), 'date' => 1393080080);
$output[] = array('userID' => 14, 'txt' => sprintf('%s commented in %s', 'User3', 'Event'), 'date' => 1393080088);
$date = array();
foreach($output as $k => $d) {
$date[$k] = $d['date'];
}
array_multisort($date, SORT_DESC, $output);
print_r($output);
?>
到目前为止,上面的代码按日期 (DESC) 对数组进行排序。期望的结果:一个数组:%s 和另外 2 个在...中评论,其他数组从输出中删除。因此,通过获取最新评论并检查其余 cmets 的日期,应该可以处理此问题。我只是需要一些建议。
提前致谢
【问题讨论】:
-
有人吗?如果您需要更多信息,请随时询问。
标签: php arrays multidimensional-array merge array-merge