我正在尝试向数字显示一些页眉和页脚,数组包含日期,我想要的是这些是按日期分隔的。
理想只会声明一个页眉和一个页脚。
我需要做2个foreach?或者任何人有任何想法?,thx
<?php
$datos = array(
array("date" => "2018"),
array("date" => "2016"),
array("date" => "2016"),
array("date" => "2015"),
array("date" => "2015"),
array("date" => "2015"),
array("date" => "2015"),
array("date" => "2014"),
array("date" => "2014"),
array("date" => "2005"),
);
echo "<pre>";
print_r($datos);
echo "</pre>";
echo "HEADER TOP<br>";
foreach ($datos as $row) {
if ($datos['date'] != @$lezte_jahr){
echo "FOOTER <br><br><br> HEADER ";
}
echo $row['date'] . " ";
$lezte_jahr = $row['date'];
}
echo "FOOTER TOP<br>";
?>
我喜欢结果,但我不知道如何XD
--a--
2018
--b--
--a--
2016
2016
--b--
--a--
2015
2015
2015
2015
--b--
--a--
2014
2014
--b--
--a--
2005
--b--
答案 0 :(得分:2)
您可以简单地循环并存储最后一个回显日期,并将其与数组中的下一个日期进行比较。
<?php
$datos = array
(
array("date" => "2018"),
array("date" => "2016"),
array("date" => "2016"),
array("date" => "2015"),
array("date" => "2015"),
array("date" => "2015"),
array("date" => "2015"),
array("date" => "2014"),
array("date" => "2014"),
array("date" => "2005"),
);
foreach($datos as $key => $dt) {
if(isset($last) && $last != $dt['date'])
echo '--b--' . PHP_EOL . '--a--' . PHP_EOL;
if(!isset($last))
echo '--a--'. PHP_EOL;
echo $dt['date']. PHP_EOL;
if($key == count($datos) -1)
echo '--b--';
$last = $dt['date'];
}