hej jeg har et lille problem med en list funktion. Den lister de ti .txt - filer der indeholder de største tal. Men den lister dem ned af (alser 2 øverst og 5 nederst frk.). Jeg vil godt have den til at liste omvendt (alser oppefra, som 5 øverst og 2 nederst).. jeg har taget en lille stump ud af min script, og jeg kan ikke finde ud af hvordan man gør, kan i ikke hjælpe mig???
natsort ($film);
//Nu er array sorteret. Vi skal bruge de første 10 elementer i arrayet.
//Start med at sætte den interne pointer til at pege på det første element
reset ($film);
//Dernæst tæller vi til 10...
for ($i = 1; $i < 10; $i++) {
//Sæt $key og $val til at være hhv. nøgle og værdi for det element
//som den interne pointer peger på , og sæt den interne pointer til at pege på næste element
list ($key, $val) = each ($film);
//Udskriv elementet.
echo "Filmen $key er blevet downloadet $val gange";
Et hurtigt bud, ville være at 'vender' listen om, efter at du har sorteret den:
array_reverse($film);
Du kan selvfølgelig også udskifte din natsort() med rsort(), til gengæld vil arrayet ikke blive sorteret naturligt, men jeg tror ikke det vil gøre nogen forskel i det her tilfælde.
Nu er jeg ikke den bedste til PHP. Jeg prøvede det der med at skrive rsort() i stædet for natsort(). men så kunne jeg ikke finde navnene på filmene, og det med array_reverse($film); kunne jeg ikk efå til at virke. Kan du ikke skrive koden??? Men bare for at gøre det lettere for dig, så skriver jeg lige HELE koden nederst...
<html>
<head>
<title>Title</title>
</head>
<body>
<?
$forbindelse1 = fopen("film1.txt", "r");
$film1 = fread($forbindelse1, 9000);
fclose($forbindels1);
$forbindelse2 = fopen("film2.txt", "r");
$film2 = fread($forbindelse2, 9000);
fclose($forbindelse2);
$forbindelse3 = fopen("film3.txt", "r");
$film3 = fread($forbindelse3, 9000);
fclose($forbindelse3);
$forbindelse4 = fopen("film4.txt", "r");
$film4 = fread($forbindelse4);
fclose($forbindelse4);
$forbindelse5 = fopen("film5.txt", "r");
$film5 = fgets($forbindelse5, 9000);
fclose($forbindelse5);
$forbindelse6 = fopen("film6.txt", "r");
$film6 = fgets($forbindelse, 9000);
fclose($forbindelse6);
$forbindelse7 = fopen("film7.txt", "r");
$film7 = fgets($forbindelse, 9000);
fclose($forbindelse7);
$forbindelse8 = fopen("film8.txt", "r");
$film8 = fgets($forbindelse, 9000);
fclose($forbindelse8);
$forbindelse9 = fopen("film9.txt", "r");
$film9 = fgets($forbindelse, 9000);
fclose($forbindelse9);
$forbindelse10 = fopen("film10.txt", "r");
$film10 = fgets($forbindelse, 9000);
fclose($forbindelse10);
$forbindelse11 = fopen("film11.txt", "r");
$film11 = fgets($forbindelse11, 9000);
fclose($forbindelse11);
$forbindelse12 = fopen("film12.txt", "r");
$film12 = fgets($forbindelse12, 9000);
fclose($forbindelse12);
$forbindelse13 = fopen("film13.txt", "r");
$film13 = fgets($forbindelse13, 9000);
fclose($forbindelse13);
$forbindelse14 = fopen("film14.txt", "r");
$film14 = fgets($forbindelse14, 9000);
fclose($forbindelse14);
$forbindelse15 = fopen("film15.txt", "r");
$film15 = fgets($forbindelse15, 9000);
fclose($forbindelse15);
//Først laver vi et array med nogle biler og nogle priser. Bil-navnene er nøgler og proserne er værdier.
$film = array ("Film1"=>"$film1",
"Film2"=>"$film2",
"Film3"=>"$film3",
"Film4"=>"$film4",
"Film5"=>"$film5",
"Film6"=>"$film6",
"Film7"=>"$film7",
"Film8"=>"$film8",
"Film9"=>"$film9",
"Film0"=>"$film10",
"Film11"=>"$film11",
"Film12"=>"$film12",
"Film13"=>"$film13",
"Film14"=>"$film14",
"Film15"=>"$film15");
//Så sorteret vi arrayet.
natsort ($film);
//Nu er array sorteret. Vi skal bruge de første 10 elementer i arrayet.
//Start med at sætte den interne pointer til at pege på det første element
reset ($film);
//Dernæst tæller vi til 10...
for ($i = 1; $i < 10; $i++) {
//Sæt $key og $val til at være hhv. nøgle og værdi for det element
//som den interne pointer peger på , og sæt den interne pointer til at pege på næste element
list ($key, $val) = each ($film);
//Udskriv elementet.
echo "Filmen $key er blevet downloadet $val gange<br>";
}
?>
</body>
</html>[Redigeret d. 13/04-03 14:41:49 af SirUser1234]
Indlæg senest redigeret d. 20.09.2012 12:40 af Bruger #649