Announcement

Collapse
No announcement yet.

Jüngstes Datum / Zeit in einem Array finden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Jüngstes Datum / Zeit in einem Array finden

    Hallo Zusammen,

    ich habe ein Array was so aussieht:

    Code:
    Array
    (
        [0] => Array
            (
                [Artikelnummer] => 10101205
                [Bezeichnung] => Eilfix Spülglanz Handspülmittel
                [GeaendertAm] => DateTime Object
                    (
                        [date] => 2016-11-28 14:18:00.000000
                        [timezone_type] => 3
                        [timezone] => Europe/Berlin
                    )
    
            )
    
        [1] => Array
            (
                [Artikelnummer] => 10101195
                [Bezeichnung] => Eilfix Spülglanz Handspülmittel
                [GeaendertAm] => DateTime Object
                    (
                        [date] => 2017-01-04 15:02:25.000000
                        [timezone_type] => 3
                        [timezone] => Europe/Berlin
                    )
    
            )
    
        [2] => Array
            (
                [Artikelnummer] => 10101200
                [Bezeichnung] => Eilfix Spülglanz Handspülmittel
                [GeaendertAm] => DateTime Object
                    (
                        [date] => 2016-11-28 14:18:00.000000
                        [timezone_type] => 3
                        [timezone] => Europe/Berlin
                    )
    
            )
    
    )
    Ich muss jetzt heraus finden welcher von den Artikeln zuletzt geändert wurde, als Ergebnis brauche ich die Artikelnummer.
    Gibt es dafür eine PHP Funktion? Oder wie kann ich es am besten machen?

    Gruß Nevada

  • #2
    Array nach Datum absteigend sortieren

    http://php.net/manual/de/function.array-multisort.php
    Christian

    Comment


    • #3
      Hallo Christian,

      danke für die schnelle Antwort. Irgendwie komme ich nicht ganz klar...

      hab es so probiert:

      array_multisort($res['GeaendertAm']['date'], SORT_ASC);

      So geht es aber nicht ... ??? Was mache ich falsch?

      Comment


      • #4
        So geht es aber nicht
        Ist kein Fehler. Was für ein Fehler kommt, bzw. wie sieht das Array aus
        Absteigend wäre auch DESC
        Christian

        Comment


        • #5
          Das wird ausgegeben...

          Warning: array_multisort(): Argument #1 is expected to be an array or a sort flag in D:\xampp\htdocs\Datentransfer\Datenexport\create_a rt_daten.php on line 35
          Code:
          Array
          (
              [0] => Array
                  (
                      [Artikelnummer] => 10101205
                      [Datum] => DateTime Object
                          (
                              [date] => 2016-11-28 14:18:00.000000
                              [timezone_type] => 3
                              [timezone] => Europe/Berlin
                          )
          
                  )
          
              [1] => Array
                  (
                      [Artikelnummer] => 10101195
                      [Datum] => DateTime Object
                          (
                              [date] => 2017-01-04 15:02:25.000000
                              [timezone_type] => 3
                              [timezone] => Europe/Berlin
                          )
          
                  )
          
              [2] => Array
                  (
                      [Artikelnummer] => 10101200
                      [Datum] => DateTime Object
                          (
                              [date] => 2016-11-28 14:18:00.000000
                              [timezone_type] => 3
                              [timezone] => Europe/Berlin
                          )
          
                  )
          
              [GeaendertAm] => Array
                  (
                      [date] => 
                  )
          
          )

          Comment


          • #6
            Der erste Parameter ist das 1. Array. Es ist doch ein Beispiel auf der Seite
            Christian

            Comment


            • #7
              Hallo,

              Ich bin mir nicht sicher, ob array_multisort() hier wirklich hilft, weil der Wert, nachdem sortiert werden soll in der zweiten Ebene liegt.
              Ich würde das eher über uasort() lösen:
              PHP Code:
              uasort$array, function($dt1$dt2) {
                  return ( 
              $dt1['Datum'] != $dt2['Datum'] )? ( ($dt1['Datum'] < $dt2['Datum'])? -1): 0;
              }); 
              PHP rocks!
              Eine Initiative der PHP Community

              Comment

              Working...
              X