我有一份在不同年份发行的证书列表,我想在不同的容器/ div / group中显示数据
2004年颁发的证书:
标题:德语102
标题:德语101
2005年颁发的证书:
标题:德语201
2006年颁发的证书:
标题:德语301
DB对象看起来像这样
Array (
[1] => stdClass Object
(
[id] => 1
[title] => German 101
[issuedate] => 1072915200 //2004
)
[2] => stdClass Object
(
[id] => 1
[title] => German 102
[issuedate] => 1092154787 //2004
)
[3] => stdClass Object
(
[id] => 3
[title] => German 201
[issuedate] => 1104537600 //2005
)
[4] => stdClass Object
(
[id] => 4
[title] => German 301
[issuedate] => 1136073600 //2006
)
)
编辑:我能想到从2004年到2044年年初的时间戳,但显然这不是最好的方法......
答案 0 :(得分:0)
您可以使用
echo date('Y', 1299446702);
然后使用它进行排序。
答案 1 :(得分:0)
循环遍历数组,并生成新数组,其中key为year,value为std对象的数组:
$newArray = [];
foreach ($yourArray as $std) {
$newArray[date('Y', $std->issuedate)][] = $std;
}
ksort($newArray);
答案 2 :(得分:0)
第一个问题:您使用哪个数据库?
因为大多数人都有YEAR功能,所以你每年都会得到分数列。使用ORDER BY
日期,您可以在PHP中使用这样的日期:
for($i = 0; $i < count($yourarray); $i++)
{
$currentyear = $yourarray[$i]['year'];
if($oldyear == $currentyear)
{
echo $yourarray[$i]['title'] . "<br>";
}
else
{
echo "<h1>" . $currentyear . "<h1>" . $yourarray[$i]['title'] . "<br>";
}
$oldyear = $currentyear;
}