/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Vise et billede det antal gange en variabe~
Fra : Mads Madsen


Dato : 25-02-06 21:34

Hej

Jeg skal have strikket et script sammen, der viser et billede det antal
gange som en variabels værdi er.

Altså noget i retníng af: (og så alligevel ikke)

<?
$value=4;
echo "$value*<img border=0 src=billedfil.gif>";
?>

Mads


 
 
Erlend Klakegg Bergh~ (25-02-2006)
Kommentar
Fra : Erlend Klakegg Bergh~


Dato : 25-02-06 22:03

Mads Madsen skrev:
> Hej
>
> Jeg skal have strikket et script sammen, der viser et billede det antal
> gange som en variabels værdi er.
>
> Altså noget i retníng af: (og så alligevel ikke)
>
> <?
> $value=4;
> echo "$value*<img border=0 src=billedfil.gif>";
> ?>
>
> Mads
>

echo str_repeat("<img border=0 src=billedfil.gif>", $value);

<URL: http://php.net/str_repeate >


--

Vennlig hilsen

Erlend Klakegg Bergheim

Kasper (26-02-2006)
Kommentar
Fra : Kasper


Dato : 26-02-06 14:10

Erlend Klakegg Bergheim skrev:
> echo str_repeat(\"<img border=0 src=billedfil.gif>\", $value);
>
> <URL: http://php.net/str_repeate >

Den mere logiske tilgang til problemet, er at lave en \"while\"- eller en \"for\"-løkke som løber igennem.


Se en \"for\"-løkke:

<?
$count = 4;

for($i = 0; $i < $count; $i++){
?><img border=\"0\" src=\"billedefil.gif\"><?
echo \"Gennemløbning nr. \" . $i . \"<br>\\n\";
NogetAndetKode();
}
?>


Se en \"while\"-løkke:

<?
$count_from = 0;
$count_to = 4;

while($count_from < $count_to){
$count_from++;

?><img border=\"0\" src=\"billedegif.gif\"><?
echo \"Gennemløbning nr. \" . $count_from . \"<br>\\n\";
NogetAndetKode();
}
?>


Begge dele opnår det samme resultat.

En \"for\"-løkke er mange gange at fortrække, så man ikke glemmer at lave \"$count_from++;\". I en \"while\"-løkke vil den nemlig fortsætte uendeligt og tage 100% CPU-kraft fra din server, indtil scriptet når en timeout (hvis du har en timeout på f.eks. 10 min., så får du mange utilfredse besøgende).


--
Med venlig hilsen
Kasper Johansen

Rasmus Grouleff (26-02-2006)
Kommentar
Fra : Rasmus Grouleff


Dato : 26-02-06 14:54

Kasper wrote:
> Erlend Klakegg Bergheim skrev:
>> echo str_repeat(\"<img border=0 src=billedfil.gif>\", $value);
>>
>> <URL: http://php.net/str_repeate >
<snip>
> En \"for\"-løkke er mange gange at fortrække, så man ikke glemmer at lave \"$count_from++;\". I en \"while\"-løkke vil den nemlig fortsætte uendeligt og tage 100% CPU-kraft fra din server, indtil scriptet når en timeout (hvis du har en timeout på f.eks. 10 min., så får du mange utilfredse besøgende).
>

Man kunne også bare bruge str_repeat(), som Erlend foreslår. Så slipper
man for at bekymre sig om, om man kommer til at glemme et eller andet
eller lave andre fejl.

Desuden vil jeg sige, at det virker ret intuitivt, hvad str_repeat()
rent faktisk gør.

Reglen om, at der ikke er nogen fejl i den kode, du ikke skriver, gælder
vist meget godt i denne situation ;)

--
Rasmus

"Ten beers are fun - one is just plain stupid"

Kasper (26-02-2006)
Kommentar
Fra : Kasper


Dato : 26-02-06 20:49

Rasmus Grouleff skrev:
> Man kunne også bare bruge str_repeat(), som Erlend foreslår. Så slipper
> man for at bekymre sig om, om man kommer til at glemme et eller andet
> eller lave andre fejl.

Min post var ene og alene med det formål, at vise Mads hvordan for- og whileløkker fungerede. Mange gange ønsker man ikke bare en bestemt kode gentaget, men ønsker måske noget mere dynamisk kode udført på PHP\'s side.

Derved ville han være opmærksom på, hvordan man gjorde, og han skulle derfor ikke spørge endnu engang.

Det var ikke for at på vise, at metoden med \"for\" eller \"while\" var hverken bedre eller værre.


--
Med venlig hilsen
Kasper Johansen

Simon Rasch 9640 (26-02-2006)
Kommentar
Fra : Simon Rasch 9640


Dato : 26-02-06 16:59

> Den mere logiske tilgang til problemet, er at lave en \"while\"- eller en
> \"for\"-løkke som løber igennem.

generelt set enig

> Begge dele opnår det samme resultat.
>
> En \"for\"-løkke er mange gange at fortrække, så man ikke glemmer at lave
> \"$count_from++;\". I en \"while\"-løkke vil den nemlig fortsætte
> uendeligt og tage 100% CPU-kraft fra din server, indtil scriptet når en
> timeout (hvis du har en timeout på f.eks. 10 min., så får du mange
> utilfredse besøgende).

Det glemmer men heller ikke

Men en god tommelfingerregel er, at man bruger for-løkken når man på forhånd
kender antal gennemløbninger, ellers bruger man while.


Mvh
Simon rasch



Erlend Klakegg Bergh~ (26-02-2006)
Kommentar
Fra : Erlend Klakegg Bergh~


Dato : 26-02-06 18:49

Simon Rasch 9640 skrev:
>> Den mere logiske tilgang til problemet, er at lave en \"while\"- eller en
>> \"for\"-løkke som løber igennem.
>
> generelt set enig
>
>> Begge dele opnår det samme resultat.
>>
>> En \"for\"-løkke er mange gange at fortrække, så man ikke glemmer at lave
>> \"$count_from++;\". I en \"while\"-løkke vil den nemlig fortsætte
>> uendeligt og tage 100% CPU-kraft fra din server, indtil scriptet når en
>> timeout (hvis du har en timeout på f.eks. 10 min., så får du mange
>> utilfredse besøgende).
>
> Det glemmer men heller ikke
>
> Men en god tommelfingerregel er, at man bruger for-løkken når man på forhånd
> kender antal gennemløbninger, ellers bruger man while.

Når man skal bruke for-løkker og når man skal bruke while-løkker er vel
og greit, men kan noen av dere fortelle meg _logikken_ i at man skal
bruke en for-løkke for å utføre funksjonalitet som allerede er
implementert i det gitte språket, i dette tilfellet PHP og dets str_replace?

Min foreleser i programmering første året mente at selvforklarende kode
er god kode, og jeg er spent på hvilken av de tre løsningene på
problemet som er mest selvforklarende...


--

Vennlig hilsen

Erlend Klakegg Bergheim

Simon Rasch 9640 (26-02-2006)
Kommentar
Fra : Simon Rasch 9640


Dato : 26-02-06 21:18

<SNIP>
> Min foreleser i programmering første året mente at selvforklarende kode er
> god kode, og jeg er spent på hvilken av de tre løsningene på problemet som
> er mest selvforklarende...

Det lyder fornuftigt nok.

og det ser alligevel sikkert sådan ud

function str_replace($s, $count) {
for($i = 0; $i < $count; $i++){
echo "$s <BR> \n";
}
}

så jeg bøjer mig og holder med Erlend.

Mvh
Simon Rasch



Mads Madsen (25-02-2006)
Kommentar
Fra : Mads Madsen


Dato : 25-02-06 22:28

Mange tak


Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste