++ skal blive til --

Tags:    php

User
Bruger #649 @ 13.04.03 12:21
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<br>";



4 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 4 karma
Sorter efter stemmer Sorter efter dato
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.




User
Bruger #649 @ 13.04.03 14:25
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
Jeg har nu hellere ikke helt styr sorteringsfunktioner, men prøv arsort(). Den skulle lave en omvendt sortering og samtidig beholde asociationerne.



User
Bruger #649 @ 13.04.03 15:32
Jeg har nu hellere ikke helt styr sorteringsfunktioner, men prøv arsort(). Den skulle lave en omvendt sortering og samtidig beholde asociationerne.


Tak skal du have.. Jeg sender dig de der point...



Indlæg senest redigeret d. 20.09.2012 12:39 af Bruger #649
t