Domanda

Ho alcuni elementi che sono zero. Gli elementi restituiti sono in un timestamp e voglio trasformare tutti gli elementi di zero in una data corrente utilizzando getdate(). Mi dispiace se non sto usando la terminologia giusta o faccio le domande giuste, non esitate a modificare se capisci.

Ecco XML:

<tickets type="array" count="2">
  <ticket>
    <solved-at type="datetime">2012-02-20T17:58:34-05:00</solved-at>
  </ticket>
  <ticket>
    <solved-at type="datetime" nil="true"/>
  </ticket>
</tickets>

Il PHP:

    $xml = new SimpleXMLElement($result);
    $solved_at = $xml->xpath('ticket/solved-at');
    ... array
    echo "Ticket time solved at:" . $solved_at[$i]. "<br/>";

Il restituito:

Ticket time solved at:2012-02-20T17:58:34-5:00<br/>
Ticket time solved at:

Vorrei restituire l'attuale DateTime in Unix per gli importi nulli in XML, qualche idea? Ho provato sotto ma inutilmente, ottengo gli stessi risultati di sopra:

if (is_null($solved_at[$i])) {
        $solved_at = getdate(); }
È stato utile?

Soluzione

Prova questo.

$xml = simplexml_load_file("solved.xml");
$solved_at = $xml->xpath('ticket/solved-at');

foreach($solved_at as $solved) {
    if ($solved['nil']) { 
      $r = date('Y-m-d h:i:s a', time()); //getdate(); 
    }
    echo "Ticket time solved at:" . $r. "<br/>";
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top