Hallo,
ich grübel gearde über der zusammführung 3 eindimensionaler aray in ein 3 dimensionales. Hier mal die Struktur:
$result1[] =array( "apid" => 1, "datum" => "Jan. 2003", "count" => 1500); $result1[] =array( "apid" => 1, "datum" => "Feb. 2003", "count" => 23 ); #$result1[] =array( "apid" => 3, "datum" => "Jan. 2003", "count" => 500); #$result1[] =array( "apid" => 3, "datum" => "Feb. 2003", "count" => 23000); ####################################### $result2[] =array( "apid" => 1, "datum" => "Jan. 2003", "orders" => 222); $result2[] =array( "apid" => 1, "datum" => "Feb. 2003", "orders" => 333); $result2[] =array( "apid" => 3, "datum" => "Jan. 2003", "orders" => 444); $result2[] =array( "apid" => 3, "datum" => "Feb. 2003", "orders" => 555); ######################################### $affiliate[]=array( "apid" => 1, "name" => "1.partner"); $affiliate[]=array( "apid" => 2, "name" => "2.partner"); $affiliate[]=array( "apid" => 3, "name" => "3.partner"); ####################################### # Ergebnis soll sein:
$result = array( 0 => array( 0 => array( "datum" => "Jan. 2003", "count" => 1500, "orders" => 222 ), 1 => array( "datum" => "Feb. 2003", "count" => 23, "orders" => 333 ) ), 1 => array(), 2 => array( 0 => array( "datum" => "Jan. 2003", "count" => 0, "orders" => 444 ), 1 => array( "datum" => "Feb. 2003", "count" => 0, "orders" => 555 ) ) );
Wobei die erste Ebene für jeden Eintrag im $affiliate steht und die zweite Ebene für jeden erfassten Monat. Das Dumme ist halt, dass in einem der Beiden $result-Arrays keys auftreten können, die im anderen nicht stehen müssen und somit bei einem foreach-loop über ein Array, einige Entries im andren unter den Tisch fallen können. Bleibt mir wirklich nur eine nervige Vergleicherei mit vielen ifs....?? Achso, für den, ders noch nicht erkannt hat: es soll in php passieren ... Danke schon mal für zündende Ideen.
Mit freundlichen Grüßen
Jens Puruckherr
On Thursday 09 January 2003 09:46, Jens Puruckherr wrote:
$result1[] =array( "apid" => 1, "datum" => "Jan. 2003", "count" => 1500);
reden wir eigentlich über Perl, PHP oder $RATMAL?
C isses nicht (=> ist kein gültiger Operator), SmallTalk auch nicht ([] = wären zwei Operatoren nebeneinander oder ein paar Spaces zu viel und array (...) ist kein gültiger Ausdruck). Brainfuck ist es wahrscheinlich nicht (kenn ich nicht aber sieht zu lesbar aus für BF), ...
Konrad
On Thursday 09 January 2003 09:46, Jens Puruckherr wrote:
Hallo,
ich grübel gearde über der zusammführung 3 eindimensionaler aray in ein 3 dimensionales. Hier mal die Struktur:
Wobei die erste Ebene für jeden Eintrag im $affiliate steht und die zweite Ebene für jeden erfassten Monat. Das Dumme ist halt, dass in einem der Beiden $result-Arrays keys auftreten können, die im anderen nicht stehen müssen und somit bei einem foreach-loop über ein Array, einige Entries im andren unter den Tisch fallen können.
In Deinem Beispiel ist $affiliate das komplette Array, also würde ich darüber laufen. Es sei denn es kann zu gross werden...
$result suggeriert, dass die Daten aus einer Datenbank kommen, da bietet es sich eigentlich an die Daten im SELECT-Statement schon korrekt zusammenzufassen.
Achso, für den, ders noch nicht erkannt hat: es soll in php passieren
Hoppla, hatte ich beim ersten Posting übersehen...
Konrad
lug-dd@schlittermann.de writes:
In Deinem Beispiel ist $affiliate das komplette Array, also würde ich darüber laufen. Es sei denn es kann zu gross werden...
$result suggeriert, dass die Daten aus einer Datenbank kommen, da bietet es sich eigentlich an die Daten im SELECT-Statement schon korrekt zusammenzufassen.
Hatt ich auch vor, allerdings kommen die Daten aus verschiedenen Tabellen und haben rein gar nix miteinander zu tun ..... Die einzige Gemeinsamkeit betsteht darin, das (warscheinlich) sich in beiden Tabellen Einträge mit dem gleichen Datum/Monat befinden ... ist nicht.
Ich habe es so gelöst: Ich mache nix dickes Array, sondern mehrere kleine mit alle den gleichen Keys. Für die Darstellung benutze ich Smarty - das kommt prächtig damit zurecht -> Aufgabe gelöst :-)
Mit freundlichen Grüßen
Jens Puruckherr IT & Technik --------------------------------------------- cyberport.de GmbH Versandhaus für Technik & Lifestyle
Am Brauhaus 5 01099 DRESDEN Fon: +49 (0)351/ 33 95 -7808 Fax: +49 (0)351/ 33 95 -799 Webseite: http://www.cyberport.de --------------------------------------------
lug-dd@mailman.schlittermann.de