0

我在 php 中编写了两个单独的脚本。其中之一是解析 xml 数据,另一个是日期排序。

xml解析

<?php 


$date = date ("d.m.Y");
$url = "http://www.cbar.az/currencies/" .$date. ".xml";


$doc = new DOMDocument(); 

$doc->load($url); 

$valyutalar = $doc->getElementsByTagName( "Valute" ); 


foreach( $valyutalar as $valyuta ) 
{ 
  $nominal = $valyuta->getElementsByTagName( "Nominal" ); 
  $nom = $nominal->item(0)->nodeValue; 

  $code = trim($valyuta->getAttribute('Code'));


  $value = $valyuta->getElementsByTagName( "Value" ); 
  $val = $value->item(0)->nodeValue;   

 echo "<b>".$code." - " .$val. "AZN\n</b><br>-----------------------<br>";


  }
   ?>

日期

<?php
  date_default_timezone_set('UTC');
  $beginning = "25.11.1993";
  $ending = date("d.m.Y");
  $date = $beginning;


  while(strtotime($date) <= strtotime($ending))
  {
  /* echo "$date<br />"; */
  $date = date ("d.m.Y", strtotime("+1 day", strtotime($date)));
  }
?>

我想加入这两个,用于解析从 1993 年到现在的数据。我知道我必须将解析器放在一个while循环中,但不知道该放在哪里。任何人都可以在开始时给出一个阿基米德点吗?-))

4

1 回答 1

1

如果 $date 在您的 while 循环中正确迭代 +1 天,则:

while(strtotime($date) <= strtotime($ending))
  {
  /* echo "$date<br />"; */
  $date = date ("d.m.Y", strtotime("+1 day", strtotime($date)));

 $url = "http://www.cbar.az/currencies/" .$date. ".xml";


$doc = new DOMDocument(); 

$doc->load($url); 

$valyutalar = $doc->getElementsByTagName( "Valute" ); 


foreach( $valyutalar as $valyuta ) 
{ 
  $nominal = $valyuta->getElementsByTagName( "Nominal" ); 
  $nom = $nominal->item(0)->nodeValue; 

  $code = trim($valyuta->getAttribute('Code'));


  $value = $valyuta->getElementsByTagName( "Value" ); 
  $val = $value->item(0)->nodeValue;   

 echo "<b>".$code." - " .$val. "AZN\n</b><br>-----------------------<br>";


  }
}$u
   ?>

因此,如果 $date 递增,则每次触发 while 循环时,它将在 $date 的下一次迭代中加载您的 $url

于 2013-05-18T10:54:25.040 回答