skrev Peter Westh:
> Hej,
>
> Jeg er ikke særlig velbevandret i php, så dette spørgsmål om måske
> banalt men hey, så meget desto større chance for at få et brugbart
> svar.
>
> Jeg har lavet et script som viser tre tilfældige billeder med
> tilhørende links og alt-tekst. Jeg har gjort det sådan her:
>
> <?php
> $boern = array("adrian", "agnethe", "alma", "anton", "david", "emil",
> "jon", "max", "marcus", "oskar", "christian", "victor", "lewis",
> "camilla", "silvia", "zacharias");
> $rand_keys = array_rand($boern, 3);
> $link ='<a href=\'../danmark/historier/'; //definerer stien til links
> $billeder ='<img src=\'../images/personer/roterende_forsiden/'; //
> definerer stien til billedfiler
>
> //1. billede
> echo $link;
> echo $boern[$rand_keys[0]];
> echo '.php\'>';
> echo $billeder;
> echo $boern[$rand_keys[0]];
> echo '.jpg\' alt=\'';
> echo ucwords($boern[$rand_keys[0]]); //Skriver Alt-teksten med stort
> begyndelsesbogstav
> echo '\'></a>';
>
> //2. billede
> echo $link;
> echo $boern[$rand_keys[1]];
> echo '.php\'>';
> echo $billeder;
> echo $boern[$rand_keys[1]];
> echo '.jpg\' alt=\'';
> echo ucwords($boern[$rand_keys[1]]);
> echo '\'></a>';
>
> //3. billede
> echo $link;
> echo $boern[$rand_keys[2]];
> echo '.php\'>';
> echo $billeder;
> echo $boern[$rand_keys[2]];
> echo '.jpg\' alt=\'';
> echo ucwords($boern[$rand_keys[2]]);
> echo '\'></a>';
> ?>
>
> Det virker som det skal, men det forekommer mig at det må kunne gøres
> uden alle de gentagelser ved at definere en funktion, der gør det
> hele. Det ville gøre det lettere at ændre i koden, f.eks. øge antallet
> af viste billeder.
>
> Det jeg ikke kan gennemskue er hvordan jeg får array_rand og en
> brugerdefineret funktion til at spille sammen.
>
> Er der nogen der kan pege mig i den rigtige retning?
>
> MVH
>
> Peter
Hei Peter.
Ta enn titt på php manualen her:
http://no2.php.net/manual/en/function.extract.php
Det kan gi deg en rask vei til å gjøre koden din kortere uten å gjenta
koden for ett og ett bilde.
Mvh Karl-Arne
--
My Home Pages:
http://www.karl-arne.name/