Kleine Rechenaufgabe (Arrays Zusammenfügen)

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

  • 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.

    Comment


    • #3
      Danke mermshaus,

      das reicht mir erstmal so aus und funktioniert super.

      Grüße

      Comment

      Working...
      X