Ich mag den funktionalen Programmierstil der Verwendung von Array-Map, um ein Array von Objekten aus einem anderen Array von Objekten zu erstellen.Kann ich die Schlüssel eines Arrays mit Array-Funktionen wie array_map
$newObjects = array_map(
function($oldObject) {
return new NewObject($oldObject);
},
$oldObjects
);
Welche alles funktioniert gut, aber ich würde wirklich in der Lage sein wie die Indizes des Arrays zu setzen, so dass sie die IDs der ursprünglichen Objekte für eine einfachere Suche und den Abruf aus dem Array sind, aber ich kann nicht glauben, wie man mach es anders als das, was nicht so elegant ist.
$newObjects = array();
foreach ($oldObjects as $oldObject) {
$newObjects[$oldObject->getId()] = new NewObject($oldObject);
}
Gibt es eine Möglichkeit, das kann ich tun?
Devil's Advocate Kommentar: so viel wie ich liebe Karte/reduzieren/zu Fuß usw. manchmal eine 'foreach' ist die einfachste, lesbare Lösung :) –
Ja, ich stimme, Pferde für Kurse und all das. Mit Blick auf den Vorschlag unten hat die Foreach viel mehr in Bezug auf Stil und Lesbarkeit –