Ja, jeg er stødt ind i et mindre problem, som jeg ikke lige kan finde
løsningen på.
Jeg har en laaaang tekst, som så lige bliver bearbejdet lidt, så alle
ord kommer ned i et array. Dette virker helt fint
Arrayet ser nogenlunde sådan her ud:
$text = Array
(
[0] => subdomæne
[1] => på
[2] => adressen
......
[427] => god
[428] => brugergrænseflade
}
Så har jeg lavet en løkke som smider det hele ind i et nyt array
$out = array();
foreach($text AS $swarm) {
if($out[$swarm]) $out[$swarm]["count"]=$out[$swarm]["count"]+1;
else $out[$swarm] = array("count"=>1);
}
Ovenstående giver antallet 11 - dvs at den ikke plusser "count" og 1,
men den sætter dem ved siden af hinanden hvis jeg fx ændrer lægge til
linjen til $out[$swarm]["count"]+2; så bliver resultatet 21.
en var_dump på $out[$swarm]["count"] giver (int) 1 - så det er ikke
fordi nogle af dem er en tekststreng.
Det jeg gerne vil ende op med er et ganske simpelt array med som noget ala
$text = Array
(
[subdomæne] => Array { [count] => 3 }
[er] => Array { [count] => 15 }
......
}
PS: jeg har også prøvet php funktionen str_word_count, men da denne
åbenbart ikke kan lide æ ø og å, så bliver "subdomæne" til 2 forskellige
"ord" - altså ord 1: subdom og ord 2: ne
Jeg har også prøvet nogle af brugerkommentarernens funktioner, men der
er endnu ikke fundet den "perfekte"
|