Ich habe ein Problem mit zwei Arrays, die wir kombinieren müssen, wo das erste Array eine Liste der Kampagnennamen (page_data) enthält wieKombinieren und Karte zwei Arrays
[0 => "Campaign 1", 1 => "Campaign 2", 2 => "Campaign 3"]
und ein anderes Array, Anzahl der Leitungen enthält für die Kampagnen. Aber dieses Array doppelt so viele Tasten wie die Kampagne Array wie folgt enthalten:
[0 => 222, 1 => 342, 2 => 71, 3 => 33, 4 => 43, 5 => 665]
Es enthält doppelt so viele Schlüssel, denn es führt von zwei verschiedenen Formen annehmen, so die Werte für key 0
und key 3
wird für Kampagne 1 und key 2
und key 4
werden für Kampagne 2 sein. Es wird immer so sein. Wenn es 5 Kampagnen sind, führt Array 10 Tasten und key 0
und key 5
für Kampagne sein wird, key 1
eine key 6
für Kampagne 2 usw.
Und dann habe ich dieses Stück Code zu kombinieren (push):
foreach(json_decode($result) as $key) {
foreach($pages["page_data"] as $p => $pvalue) {
array_push($leadArray, array("pageName" => $pvalue["form_name"], "pageLeads" => $key[$p]));
}
}
das macht und Array, das wie etwas aussieht:
["campaign 1" => 222, "campaign 2" => 342, "campaign 3" => 71]
Aber das wird nur nehmen Tasten 0,1,2 und so Taste 3,4,5 nicht im Array sein.
Was ich will, ist der Schlüssel 0 und Taste 3, die Taste 1 und Taste 4 usw. in der Anordnung führt kombiniert werden, so dass die die neue Array führt wird
seine[0 => 255, 1 => 386, 2 => 736]
, die ich mit dann kombinieren die Kampagnen-Array als die Anzahl der Schlüssel aus den beiden Feldern wird übereinstimmen nun die mir geben ein Array, das Werte wie
["campaign 1" => 255, "campaign 2" => 386, "campaign 3" => 736]
Ich würde vorschlagen, 'for()' anstelle von 'foreach()' mit solchen komplexen Arrays zu verwenden, um die Dinge einfach und leicht zu handhaben. –
Was erwarten Sie? Deine Frage ist an irgendeinem Ort nicht klar. –
Zusätzlich zu @RedBottles Kommentar scheint es, als ob Sie Modulo - Operator brauchen ... – urban