kostenloser Webspace werbefrei: lima-city


Zwei Arrays vergleichen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    timeplay

    timeplay hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Mir scheint, Du suchst array_diff().
  4. Autor dieses Themas

    timeplay

    timeplay hat kostenlosen Webspace.

    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
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!