PHP-Array ist sehr flexibel und nützlich. Ich habe über 30 Array-Funktionen on the PHP.net array reference Seite gezählt. Einige von ihnen können mein Problem lösen, aber ich suche den besten, elegantesten Weg.Was ist die beste PHP-Array-Funktion beim Verschachteln von verschachtelten Arrays?
I 2 Arrays, genannt labor
und cost
, die jeweils eine Tabelle:
labor = array(
0 => array('date' => date, 'labor'=> labor),
1 => array('date' => date, 'labor'=> labor),
...
);
cost = array(
0 => array('date' => date, 'cost'=> cost),
1 => array('date' => date, 'cost'=> cost),
...
);
Mein Problem ist, dass manchmal die Anzahl der Tage, nicht übereinstimmen (dh, es gibt Tage, an denen Sie anfallen haben Kosten, obwohl Sie nichts für Arbeit ausgegeben haben, oder Tage, an denen Sie Arbeit hatten, aber keine Kosten) - das heißt, es gibt mehr Linien in einem Array als das nächste - keine Möglichkeit zu wissen, was ohne count()
hat.
Was interessiert mich sind nur die Tage, die sowohl Arbeit hatte und kosten und ich möchte mit einer Reihe am Ende:
laborcost = array(
0 => array('date' => date, 'labor'=> labor, 'cost' => cost),
1 => array('date' => date, 'labor'=> labor, 'cost' => cost),
...
)
Ich dachte über array_intersect()
oder eine der ‚u mit "Funktionen, aber endete total durcheinander. Bevor ich aufgab und meine eigene Array-Scan-Funktion schrieb, wollte ich herausfinden, ob es Ideen gibt, die mein Problem mit 1, möglicherweise 2 Codezeilen lösen.
Haben Sie 'array_map()' versucht? –
Ja, 'array_map'. Ich würde eine Klasse erstellen, dem Konstruktor ein Array zur Verfügung stellen, sie speichern und dann eine andere Methode in der Klasse als Callback für 'array_map' verwenden, an die das zweite Array geliefert werden kann. – halfer
Habe Array_map noch nicht angeschaut - würde es mal anschauen. Vielen Dank! –