0

XML ドキュメントにタイムスタンプを保存していますが、それらを現在のタイムスタンプと比較して使用しようとすると機能しませんか? 私もそれをdate()で動作させようとしましたが、うまくいきませんか? 私は何を間違っていますか?

XML は次のようになります。

<?xml version="1.0" encoding="ISO-8859-1"?>
<data>
  <game id="83832">
    <opponent>Danielle</opponent>
    <oppid>101</oppid>
    <lastdraw>1</lastdraw>
    <turn>1</turn>
    <image>101b.png</image> 
    <nextdraw>1348156426</nextdraw>
    <infopop>0</infopop>
    <playertilesum>89</playertilesum>
    <oppnation>0</oppnation>
  </game>
  <game id="89939">
    <opponent>Bigscreen</opponent>
    <oppid>107</oppid>
    <lastdraw>3</lastdraw>
    <turn>2</turn>
    <image>107a.png</image>
    <nextdraw>1347913606</nextdraw>
    <infopop>0</infopop>
    <playertilesum>101</playertilesum>
    <oppnation>0</oppnation>
  </game>
</data>

そして、私がやろうとしていることはこれです:

$timestamp = $_SERVER['REQUEST_TIME'];

$xml=simplexml_load_file('TEST.xml');

foreach ($xml->game as $game) {

    if($game->nextdraw < $timestamp){

         echo '['.$r.'] '.$game->nextdraw.'<br>';

    }
}

タイムスタンプよりも古いゲームのみを表示したいですか? 私はこれをすべて間違っていますか?

4

1 に答える 1

0

コードに問題はありません。私はそれを実行して得ました:

[] 1348156426
[] 1347913606

何を得てるの?

更新:条件が正しく実行されているかどうかを確認するには、foreach代わりに次のループを使用してください。

foreach ($xml->game as $game) 
{

    if($game->nextdraw < $timestamp)
    {

        echo "<br> Game's next draw is ". date('m/d/Y h:i:s A', (int)$game->nextdraw);
        echo "<br> Current time is ". date('m/d/Y h:i:s A', (int)$timestamp);
        echo '<br><br>['.$r.'] '.$game->nextdraw;

    }

}

于 2012-09-26T15:07:34.950 に答える