Ich versuche, zwei Arrays zu vergleichen, und extrahieren einige Informationen von einem von ihnen und speichern Sie es in einem anderen Array (3.). Die Struktur dieser beiden Arrays sieht wie folgt aus:Arrays Vergleich in PHP
Array(
[0] => stdClass Object
(
[Id] => 123
[Size] => small
[Color] => yellow
)
[1] => stdClass Object
(
[Id] => 456
[Size] => large
[Color] => red
)
[2] => stdClass Object
(
[Id] => 789
[Size] => medium
[Color] => blue
)
)
Array
(
[0] => stdClass Object
(
[Id] => 456
[Size] => large
[Color] => red
[Available] => true
)
[1] => stdClass Object
(
[Id] => 123
[Size] => small
[Available] => false
)
[2] => stdClass Object
(
[Id] => 789
[Size] => medium
[Color] => blue
[Available] => true
)
)
Im Beispiel, ich brauche nur die Eigenschaft „verfügbar“ zu speichern, wenn die ID dieser Arrays gleich sind.
Was habe ich versucht zu tun:
for (var $i = 0; $i < count($arrayA); $i++) {
if ($ArrayA[$i]->Id == $arrayB[$i]->Id) {
$getAvailable = $arrayB[$i]->Available;
}
}
Das Problem:
Da können wir die Situation, wo die Eigenschaft ID in Feld A, Position in einer anderen Position 0 in Array B, das eine andere Struktur haben kann, habe ich keine Ahnung, wie ich auf die Informationen zugreifen kann, die ich benötige (verfügbar), von einem Array, das die IDs von ArrayB und ArrayA vergleicht.
Es tut mir leid wenn ich nicht erklären, es nicht besser, denn es ist ein bisschen schwer in Worte, um diese Situation zu bringen, aber lassen Sie mich wissen, wenn Sie irgendwelche Fragen haben, und bitte, helfen Sie mir, eine Lösung zu finden :)
Wunsch Array sollte wie folgt aussehen:
Array(
[0] => stdClass Object
(
[Id] => 123
[Size] => small
[Color] => yellow
[Available] => false
)
was die gewünschte * neu * Array aussehen ?? –
Ich habe die Frage bearbeitet und diese Information am Ende hinzugefügt. @ Dagon –
ah ok, das macht Sinn. jede Änderung der ID als der Schlüssel zu beginnen? wenn nicht seine Schleife auf Array eine Suche auf der anderen für jede ID –