Per Thomsen skrev:
> Mads Madsen wrote:
> > Hej Gruppe
> > Jeg skal have lavet en funktion der kan tælle forekomster i en fil
> > samt sætte forekomsterne i rækkefølge.
> >
> > Filens indhold ser således ud:
> >
> > Ib
> > Peter
> > Rene
> > Grethe
> > Peter
> > Ib
> > Peter
> > Peter
> > Peter
> >
> > funktionen skulle så kunne finde ud af at:
> > 5 Peter
> > 2 Ib
> > 1 Grethe
> > Altså både finde ud af forekomster og derefter sætter dem i
> > rækkefølge.
> >
> > Jeg ved ikke om det er følgende funktion jeg skal have fat i
> > "array_count_values", men kan ikke rigtig komme videre
> >
> > Håber på lidt spark-igang-hjælp
> >
> > Mvh Mads
> >
>
> Noget i denne stil måske:
>
> $file = file('filnavn.txt');
>
> foreach($file as $line) {
> if( isset($names[$line]) ) {
> $names[$line]++;
> }
> else {
> $names[$line] = 0;
> }
> }
>
> asort($names);
>
> foreach($names as $name => $count ) {
> echo $count.' '.$name.'<br/>'."\n";
> }
>
> MVH Per Thomsen,
>
http://www.pert.dk/
Ovenståene ligner noget jeg kan bruge - har dog lavet om i linje 10
før stod der 0 hvor der nu står 1 samt linje 15 så den sorter efter
$count i stedet for name, hvilket virker som jeg gerne vil have men den
kommer samtidig med en fejlmeddelse:
Warning: asort() expects parameter 1 to be array, null given in
/home/sv_pokerfundk/test/test1.php on line 17
4 Peter
2 Grethe
1 Ib
<?
$file = file('array.txt');
foreach($file as $line) {
if( isset($names[$line]) ) {
$names[$line]++;
}
else {
$names[$line] = 1;
}
}
asort($count);
foreach($names as $name => $count ) {
echo $count.' '.$name.'<br/>'."\n";
}
?>