Avatar billede Bjarne Novice
18. februar 2007 - 20:18 Der er 7 kommentarer og
1 løsning

Flere forekomster af samme streng i et array

Godaften.

Jeg leder efter en snedig måde, hvor jeg kan undersøge et array for flere forekomster af samme streng. Eks.:

array (
  [0] => foo
  [1] => foobar
  [2] => foo
  [3] => bar
)

Jeg er interesseret i noget kode, som kan undersøge arrayet og slette de ting som forekommer mere end én gang. Således at ovenstående array kommer til at se således ud:

array (
  [0] => foobar
  [1] => bar
)

På forhånd tak
Avatar billede erikjacobsen Ekspert
18. februar 2007 - 20:32 #1
Hvorfor skal "foo" ikke med, når "bar" skal?
Avatar billede erikjacobsen Ekspert
18. februar 2007 - 20:36 #2
Eller mener du at "foo" slet ikke skal med fordi det er der 2 gange?
Avatar billede Bjarne Novice
18. februar 2007 - 21:11 #3
Alt hvad der forekommer mere end én gang skal ikke med.
Avatar billede jakobdo Ekspert
18. februar 2007 - 21:26 #4
Du kunne lave:

$nytArray = array_count_values($array);
og alle som så har en værdi på over 1, skal slettes! F.eks. med unset.
Avatar billede jakobdo Ekspert
18. februar 2007 - 21:46 #5
Har lige leget lidt med at lave en funktion:

function removeMultiDup($array,$count=1)
{
    $array = array_count_values($array);
    foreach($array AS $key => $value)
    {
        if($value > $count)
        {
            unset($array[$key]);
        }
    }
    return $array;
}
Avatar billede Bjarne Novice
18. februar 2007 - 22:18 #6
Det ser ud til at være en fornuftig løsning.. Smid et svar, hvis du vil have point ;)
Avatar billede jakobdo Ekspert
19. februar 2007 - 08:08 #7
Svar!
Avatar billede jakobdo Ekspert
19. februar 2007 - 09:36 #8
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester