Kleine Rechenaufgabe (Arrays Zusammenfügen)

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

  • Kleine Rechenaufgabe (Arrays Zusammenfügen)

    Moin moin,

    ich habe 2 Arrays, die ich gerne zusammenfügen möchte. Sie sind folgendermaßen aufgebaut:

    Code:
    Array
    (
        [2013-06-06] => 50.50
        [2013-06-08] => 65.90
        [2013-04-04] => 9.99
        [2013-04-01] => 19.99
    )
    Array
    (
        [2013-06-06] => 5.50
        [2013-06-08] => 33.30
        [2013-03-19] => 9.99
    )
    im ersten Array ist jeweils ein Datum mit einem Rechnungsbetrag und im zweiten ein Datum mit einem Gutschriftsbetrag..

    Ich möchte nun die Arrays zusammen fügen und dabei mathematisch gesehen die Beträge aus dem 2. Array von dem 1. Array subtrahieren sodass ich ein neues Array bekomme Ala:

    Code:
    Array
    (
        [2013-06-06] => 45.00
        [2013-06-08] => 32.60
        [2013-04-04] => 9.99
        [2013-04-01] => 19.99
        [2013-03-19] => -9.99
    )
    Ist das möglich? und wenn ja Wie ?
    array_merge ist leider der falsche Weg..

    Danke im Vorraus.
    Grüße

  • #2
    Die Lösung „zu Fuß“:

    PHP-Code:
    <?php

    function f($a$b)
    {
        
    $res $a;

        foreach (
    $b as $date => $value) {
            if (!
    array_key_exists($date$res)) {
                
    $res[$date] = 0;
            }

            
    $res[$date] -= $value;
        }

        return 
    $res;
    }

    $a = array(
        
    '2013-06-06' => 50.50,
        
    '2013-06-08' => 65.90,
        
    '2013-04-04' =>  9.99,
        
    '2013-04-01' => 19.99
    );

    $b = array(
        
    '2013-06-06' =>  5.50,
        
    '2013-06-08' => 33.30,
        
    '2013-03-19' =>  9.99
    );

    var_dump(f($a$b));
    Mag eleganter gehen.

    Kommentar


    • #3
      Danke mermshaus,

      das reicht mir erstmal so aus und funktioniert super.

      Grüße

      Kommentar

      Lädt...
      X