Avatar billede Slettet bruger
24. juli 2004 - 14:26 Der er 9 kommentarer og
2 løsninger

Finde første og sidste key i et array

Hvordan finder man første og sidste key i et array:

Hvis jeg f.eks. har et array der ser sådan ud:
side[5] = "side5";
side[12] = "side12";
side[17] = "side17";
side[32] = "side32";

Hvis jeg så gerne vil have 2 variabler med følgende værdier:
forste = "5";
sidste = "32";
Avatar billede jakoba Nybegynder
24. juli 2004 - 14:40 #1
for ($i=0; $i<count($side); $i++) {
    if ( isset( $side[$i] ) {
        echo "Den første er $i<br>";
        break;                        // hop ud af løkken
    }
}
for ($i=count($side)-1; $i>=0; $i--) {
    if ( isset( $side[$i] ) {
        echo "Den sidste er $i<br>";
        break;                        // hop ud af løkken
    }
}

mvh JakobA
Avatar billede jakoba Nybegynder
24. juli 2004 - 14:41 #2
Ups. der mangler en ')' i begge if linier
    if ( isset( $side[$i] ) ) {          // tilføjen et ']' tegn
og ligesådan i den anden.
Avatar billede Slettet bruger
24. juli 2004 - 14:41 #3
Hmmm... havde mere forestillet mig noget mindre, alá om der fandtes en kommando i php der kunne finde ud af hvilken.

jakoba...> Dit forslag fungerer, så derfor får du point, det er jo ikke din skyld jeg ikke formulerede mig klart nok.
Avatar billede jakoba Nybegynder
24. juli 2004 - 14:47 #4
du kan jo evt vente lidt. og se om der kommer nogen forbi med noget mere i den retning du ventede.
Avatar billede erikjacobsen Ekspert
24. juli 2004 - 14:59 #5
Sådan?

$side[5] = "side5";
$side[12] = "side12";
$side[17] = "side17";
$side[32] = "side32";

$a=array_keys($side);
$forste = $a[0];
$sidste = $a[count($a)-1];

print "$forste $sidste\n";
Avatar billede erikjacobsen Ekspert
24. juli 2004 - 15:01 #6
Nu er det jo noget upræcist, det du beder om. Skal det være den først/sidst indsatte
eller den mindste/største? Har du:

$side[5] = "side5";
$side[12] = "side12";
$side[17] = "side17";
$side[32] = "side32";
$side[11] = "side11";

får du jo 5 og 11 med min metode.
Avatar billede Slettet bruger
24. juli 2004 - 15:04 #7
erikjacobsen...>
Det er den mindste og største værdi
Avatar billede erikjacobsen Ekspert
24. juli 2004 - 15:16 #8
$forste = min($a);
$sidste = max($a);
Avatar billede Slettet bruger
24. juli 2004 - 15:26 #9
erikjacobsen...> Kanon, det fungerer.
Læg et svar og der er point til dig.
Avatar billede erikjacobsen Ekspert
24. juli 2004 - 15:27 #10
Ellers tak, jeg samler slet ikke på point.
Avatar billede Slettet bruger
24. juli 2004 - 15:32 #11
erikjacobsen...> Takker mange gange for hjælpen :o)
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