我正在创建一个页面来列出表格中每行的选择列。我通过使用如下的foreach循环来实现它的基础,并且它工作正常。我现在面临的问题是,我需要按日期(其中一列)订购结果,最新记录位于顶部。
这是我到目前为止(有效但没有排序)
foreach ($visitors as $visitor) {
$id = htmlentities($visitor['family_id']);
$first_name = htmlentities($visitor['first_name']);
$last_name = htmlentities($visitor['last_name']);
$visit_date = htmlentities($visitor['visit_date']);
$phone = htmlentities($visitor['phone']);
$email = htmlentities($visitor['email']);
?>
<p><?php echo $visit_date; ?><a href="visitor-view.php?id=<?php echo $id; ?>"> <?php echo $first_name . ' ' . $last_name; ?></a> <?php echo $phone; echo $email; ?></p>
<?php
}
希望有人对如何进行排序有一个好主意。
答案 0 :(得分:1)
使用USORT
(来自PHP的官方网站 - http://php.net/manual/en/function.usort.php)
function date_compare($a, $b)
{
$t1 = strtotime($a['visit_date']);
$t2 = strtotime($b['visit_date']);
return $t1 - $t2;
}
usort($array, 'date_compare');
答案 1 :(得分:0)
我自己的愚蠢疏忽,试图让它变得更加复杂。
使用Dragon Warrior的建议是迄今为止最简单的方法。