如何根据当天循环列表?

时间:2017-02-23 15:52:53

标签: php loops date

我有一个简单的XML列表,其中包含日期(按时间顺序排列)。我找到了一种方法循环列表7次(1周)。

<?php
    $xmldata=simplexml_load_file("dates.xml");
    $i = 0;
    foreach($xmldata->day as $day) {
    if($i==7) break;
    $i++;
    echo "<p>Date: " . $day->date . "</p>";
    echo "<p>Dayname: " . $day->content . "</p>";
    }
    ?> 

现在我遇到了问题,循环总是从XML文件的第一行开始,到7次后结束。但我想开始循环,

 $xmldata->day->date = $currentday;
 $currentday = date('d.m.y');

并继续列表中的下7个项目(天)。

XML(dates.xml)如下所示:

<schedule>
  <day>
    <date>01.03.17</date>
    <information>Lorem ipsum</information>
  </day>
  <day>
    <date>02.03.17</date>
    <information>Lorem ipsum</information>
  </day>
  <day>
    <date>03.03.17</date>
    <information>Lorem ipsum</information>
  </day>
  ...
</schedule>

谢谢!

1 个答案:

答案 0 :(得分:1)

commnets之后的解决方案:

<?php
$xmldata=simplexml_load_file("dates.xml");
$i = 0; 
$startfound = false;
foreach($xmldata->day as $day) {
    if(!$startfound && $day->date!=date('d.m.y')) continue;
    $startfound = true;
    if($i==7) break;
    $i++;
    echo "<p>Date: " . $day->date . "</p>";
    echo "<p>Dayname: " . $day->content . "</p>";
}
?>