Ankündigung

Einklappen
Keine Ankündigung bisher.

Datumswerte vergleichen und in Mehrdimensionalen Array speichern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datumswerte vergleichen und in Mehrdimensionalen Array speichern

    Ich möchte Datumswerte mit einander vergleichen und die 3 neusten mit zusätzlichen Werten in einem Mehrdimensionalen Array speichern wie mache ich dass am besten?

    PHP-Code:
    while ($zeile $ergebnis->fetch_object())
    {
    if(
    $zeile->post_status != "publish") continue;

        
    $Jobs[]     = array('id'                          => $zeile->uid,
                            
    'date'                         => $zeile->post_date,
                            
    'content'                     => $zeile->post_content,
                            
    'status'                     => $zeile->post_status,
                            
    'title'                     => $zeile->post_title,
                            
    'guid'                        => $zeile->guid
                            
    );
    }
    function 
    ceckdate($data)
    {
        foreach (
    $data as $dat)
        {
        if(
    $dat['date'] > $referenz['date'] )
        
    $referenz $dat;
        } 
    Wie mache ich dass am besten?


  • #2
    Schau dir mal PHP DateTime (DateTimeImmutable) an.
    Standards - Best Practices - AwesomePHP - Guideline für WebApps

    Kommentar


    • #3
      Zitat von Darknet Beitrag anzeigen
      Ich möchte Datumswerte mit einander vergleichen und die 3 neusten mit zusätzlichen Werten in einem ... Array speichern wie mache ich dass am besten?
      Sortiere das Array vom neuesten zum ältesten Zeitpunkt und schneide alles nach den ersten drei Einträgen ab. Beim Vergleichen von Datumswerten musst du darauf achten, dass sich alle in der gleichen Zeitzone befinden oder ein entsprechendes Datums-Objekt benutzen, welches darauf achtet (bpsw. Posix-Timestamps (immer UTC), DateTime::, DateTimeImmutable::, IntlCalendar:: usw.). Zeitangaben in Text-Form kannst du nur sinnvoll vergleichen, wenn sie alle aus der selben Zeitzone stammen.

      PHP-Code:
      function most_recent(Array $dates$max 3) {
          
      usort(
              
      $dates
              function(
      $a$b) {
                  if (
      $a $b) {
                      return -
      1;
                  }
                  if (
      $a $b) {
                      return 
      1;
                  }
                  return 
      0;
              }
          );
          return 
      array_slice($dates0$max);

      Bei sehr großen Arrays kann die Methode Sortieren|Abschnippeln ineffektiv werden. Aber für deine Zwecke sollte es reichen.

      ... n einem Mehrdimensionalen Array ...
      PHP-Arrays haben keine Dimensionen. Eine Liste von Daten (hier: Plural von Datum) muss auch nicht verschachtelt sein. Was hast du statt "mehrdimensionales Array" eigentlich gemeint ...?
      Wenn man die Wurst schräg anschneidet, hält sie länger, weil die Scheiben größer sind.

      Kommentar

      Lädt...
      X