Zwei Arrays vergleichen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
code
dank
effektiver ressourcen
http
listen
manual
memory
speichern
unterschied
url
verbraucht code
vergleich
vergleichen
-
Hallo
ich habe zwei einfache (eindimensionale) Arrays die ich vergleichen will,
welcher Wert jeweils nicht im anderen Array vorhanden ist.
und die Unterschiede dann in zwei neue Listen (bzw. Arrays) speichern
habe es versucht mit 2x foreach() und darin jeweils if (!in_array($needle, $haystack) )
Liste1 = alle IDs, die zwar in Array_A sind, aber nicht in Array_B
Liste2 = alle IDs, die zwar in Array_B sind, aber nicht in Array_A
$liste1 = array(); // --- nicht in Array_A --- foreach ($array_B as $item_B) { if (!in_array($item_B, $array_A) ) { $liste1[] = $item_B; } } $liste2 = array(); // --- nicht in Array_B --- foreach ($array_A as $item_A) { if (!in_array($item_A, $array_B) ) { $liste2[] = $item_A; } }
aber wenn die Arrays zu groß sind, bekomme ich "out of Memory error" ....
wie kann ich so einen Vergleich effektiver (Ressourcen sparender) machen ?
Danke
Beitrag zuletzt geändert: 13.4.2012 8:32:07 von timeplay -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Mir scheint, Du suchst array_diff().
-
Danke,
genau das suchte ich, mal sehen ob es weniger Speicher verbraucht
$liste1 = array_diff($array1, $array2); // --- nicht in $array1 --- $liste2 = array_diff($array2, $array1); // --- nicht in $array2 ---
Danke
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage