Zusammenführen von zwei arrays von index
Okay, wenn sich so anfühlen sollte wirklich einfach und geschieht durch eine Funktion wie array_merge()
oder array_merge_recursive
, aber ich kann nicht ganz herausfinden. Ich habe zwei einfache arrays strukturiert wie die (vereinfachte) Beispiel zeigt. Ich möchte einfach verschmelzen Sie in einem array, basierend auf Ihren index.
$array 1:
Array (
[0] => Array (
[ID] => 201
[latLng] => 45.5234515, -122.6762071
)
[1] => Array (
[ID] => 199
[latLng] => 37.7931446, -122.39466520000002
)
)
et cetera...
$array2 :
Array (
[0] => Array (
[distance] => 1000
[time] => 10
)
[1] => Array (
[distance] => 1500
[time] => 15
)
)
$desiredResult :
Array (
[0] => Array (
[ID] => 201
[latLng] => 45.5234515, -122.6762071
[distance] => 1000
[time] => 10
)
[1] => Array (
[ID] => 199
[latLng] => 37.7931446, -122.39466520000002
[distance] => 1500
[time] => 15
)
)
Wenn ich versuche, merge diesen mit merge-Funktionen kann ich nur dieses:
$unDesiredResult:
Array (
[0] => Array (
[ID] => 201
[latLng] => 45.5234515, -122.6762071
)
[1] => Array (
[ID] => 199
[latLng] => 37.7931446, -122.39466520000002
)
[2] => Array (
[distance] => 1000
[time] => 10
)
[3] => Array (
[distance] => 1500
[time] => 15
)
)
Brauche ich, um eine Schleife durch zu schieben, den zweiten Satz in der ersten, oder kann das getan werden, mit einer vorhandenen Funktion?
InformationsquelleAutor Kerri | 2012-03-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube nicht, dass es eine Funktion um dies für Sie tun, Sie sind gonna haben, um Schleife.
Oder du kannst die Daten in $array1, so dass Sie brauchen, um ein 3. array:
Ich konnte Sie nicht finden, eine eingebaute Funktion, die tun, was Sie wollen.
array_merge_recursive
geben nicht die gewünschte Ausgabe.würde funktionieren, wenn Ihre arrays hatte string-Schlüssel (nicht numeric keys);
— ah, danke, das macht Sinn (w/ string-Schlüssel).
Der "hack", die Sie tun können, ist fügen Sie ein Präfix für die zahlen, verwenden Sie die
array_merge_recursive
, dann Streifen Sie das Präfix, aber das scheint mehr Arbeit. stackoverflow.com/q/2213156/206403InformationsquelleAutor Rocket Hazmat
Müssen Sie eine Schleife verwenden. Versuchen Sie, erstellen Sie eine Funktion:
Dann:
Wäre es nicht einfacher, nur das zu tun
addArray( $array1, $array2 );
?InformationsquelleAutor Ryan P
Beispiel Arrays werden zusammengeführt:
, Wenn Sie die Schleife wie folgt:
InformationsquelleAutor
Ich würde mich über diese etwas anders mit einem Intervall. Dies meint Ihre Werte sind immer gesperrt ist und dass der erste Datensatz von array1 entspricht immer mit dem ersten Datensatz von Matrix2:
Glück!
Vielen Dank für das feedback!
InformationsquelleAutor AshBrad