我需要使用时间戳在 2 个数组之间进行排序usort()
。下面的源代码将向您展示我所拥有的,以及我需要合并到源代码中的内容,我必须按时间戳对 2 个数组进行排序usort()
。
忽略我的 php.ini 中的db_open
,db_query
,db_fetch_all
函数。这些是我设置为捷径的功能。
这是我为获取信息和合并 2 个数组而构建的内容。
$db = db_open();
$query = "
SELECT postings.posting_id, postings.timestamp AS posting_timestamp, users.user_name, groups.group_name FROM groups
LEFT JOIN postings
ON postings.group_id = groups.group_id
LEFT JOIN users
ON postings.user_id = users.user_id
WHERE groups.user_id = '".$_SESSION['user']['user_id']."'
AND postings.user_id != '".$_SESSION['user']['user_id']."'";
$result = db_query($db, $query);
$result1 = db_fetch_all($result);
$query = "SELECT postings.posting_headline, comments.timestamp AS comment_timestamp, users.user_name
FROM postings
LEFT JOIN comments
ON comments.posting_id = postings.posting_id
LEFT JOIN users
ON comments.user_id = users.user_id WHERE postings.user_id = '".$_SESSION['user']['user_id']."'
AND comments.user_id != '".$_SESSION['user']['user_id']."'";
$result = db_query($db, $query);
$result2 = db_fetch_all($result);
$result = array_merge((array)$result1, (array)$result2);
这是我需要在上面的源代码中合并的内容,以按时间戳对数组进行排序。问题是,我该怎么做?
另外,我不确定是什么$a
和$b
是。有人可以解释他们从我的查询中得到什么吗?
function cmp($a, $b)
{
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
$a = array(3, 2, 5, 6, 1);
usort($a, "cmp");
foreach ($a as $key => $value) {
echo "$key: $value\n";
}
有关 usort 的更多信息:http ://www.php.net/manual/en/function.usort.php