Avatar billede ahrensberg Nybegynder
25. marts 2003 - 00:54 Der er 26 kommentarer og
2 løsninger

Sammensætning til en streng?

Jeg har lavet en række billeder, hvor jeg har angivet farverne som $farve1, $farve2, osv. men jeg kan simpelthen ikke få det til at virke. Jeg vil gerne have den til at køre i en WHILE, men hvorfor kan jeg ikke gøre som i nedenstående script, og hvad skal jeg ellers gøre?

    $billed_nr = 1;
    while ($billed_nr <= $antal_billeder){
        echo "$farve$".billed_nr;
        $billed_nr++;
    }

Jeg prøver altså at få den til at forstå, at først skal den aflæse $farve1, så $farve2, osv, osv, men kan åbentbart ikke gøre det sådan! Jeg har prøvet at fjerne punktummet, sæt gåseøjne andre steder, men kan simpelthen ikke få det til at virke...

HVAD GØR JEG GALT? Og hvad skal jeg før det virker?
Avatar billede bearhugx Nybegynder
25. marts 2003 - 00:57 #1
while ($billed_nr <= $antal_billeder) {
  echo $farve."".$billed_nr;
  $billed_nr;
}
Avatar billede bearhugx Nybegynder
25. marts 2003 - 00:58 #2
ved ikke om du faktisk kan undgå den tomme streng  - altså
  echo $farve.$billed_nr;

tester lige..
Avatar billede bearhugx Nybegynder
25. marts 2003 - 01:00 #3
yeps ...

du kan skrive :
while ($billed_nr <= $antal_billeder) {
  echo $farve.$billed_nr;
  $billed_nr;
}
Avatar billede ahrensberg Nybegynder
25. marts 2003 - 01:04 #4
Nope, skriver jeg:

->
$nr = 5;
$farve5 = Lilla;

echo $farve.$nr;
<-

Får jeg et 5-tal ud af dette, men skriver jeg:

->
$nr = 5;
$farve5 = Lilla;

echo $farve5;
<-

Får jeg smidt Lilla ud! Forstår det simpelthen ikke!
Avatar billede bearhugx Nybegynder
25. marts 2003 - 01:07 #5
Jeg forstår ikke helt sammenhængen  -
hvor du skriver
  $farve5 = Lilla;
  echo $farve5;
og får "Lilla" ud, forstår jeg dog 1000%

evt. hvis du forklarede lidt mere omkring det bagvedliggende...
Avatar billede ahrensberg Nybegynder
25. marts 2003 - 01:11 #6
Jeg er ved at lave en uploadside, hvor jeg på en foregående side har defineret et antal billeder. Billederne bliver også beskrevet med en farve, og det er denne jeg gerne vil have, uden at skulle skrive:

echo $farve1;
echo $farve2;
echo $farve3;
echo $farve4;
echo $farve5;
echo $farve6;

... da det ikke er samme antal billeder altid, derfor skulle en WHILE jo kunne klare dette, men hvorfor jeg ikke det samme i foregående eksempel?
Avatar billede dmcn Praktikant
25. marts 2003 - 01:11 #7
Kig evt. på følgende, som du måske kan bruge:
<?php
$farve[0] = "lilla";
$farve[1] = "rød";
$farve[2] = "blå";
$farve[3] = "gul";
$farve[4] = "sort";

for ($i = 0; $i < sizeof($farve); $i++) {
    print($farve[$i]);
}
?>
Aldeles utestet, men prøv alligevel. :)
Avatar billede dmcn Praktikant
25. marts 2003 - 01:13 #8
Måske skulle for-linien lige rettes til:
for ($i = 0; $i <= sizeof($farve); $i++) {
Avatar billede ahrensberg Nybegynder
25. marts 2003 - 01:13 #9
Jeg prøver, men tror jeg går i seng nu! Må kigge videre imorgen...
Avatar billede ahrensberg Nybegynder
25. marts 2003 - 01:22 #10
Hva' er forskellen på print og echo?
Avatar billede olebole Juniormester
25. marts 2003 - 02:00 #11
<ole>

'print()' er en funktion og returnerer derfor true eller false, alt efter om udskrivningen lykkes.
'echo' er ikke en funktion og returnerer ikke noget.

'echo' kan udskrive flere, kommaseparerede strenge:

$str1 = "ole";
$str2 = "bole";
echo $str1, $str2;

... udskriver 'olebole'.

Og dette:

$str1 = "ole";
$str2 = "bole";
$NL = "\n";

echo
$NL, $str1,
$NL, $str2
;

... udskriver 'ole bole' - hvor de to ord, står på hver sin linie i koden (set i ViewSource).

Eller skriv:

$str = "olebole";
echo <<<END
Du kan også prøve at teste
denne lille 'klump' kode, som
$str har skrevet - og se,
hvad den udskriver.

Husk også at prøve at vælge
ViewSource i din browser  ;o)
END;

/mvh
</bole>
Avatar billede olebole Juniormester
25. marts 2003 - 02:03 #12
Altså sådan:

<?

$str = "olebole";
echo <<<END
Du kan også prøve at teste
denne lille 'klump' kode, som
$str har skrevet - og se,
hvad den udskriver.

Husk også at prøve at vælge
ViewSource i din browser  ;o)
END;

?>

'echo' kan mange ting  ;o)
Avatar billede tefcke Nybegynder
25. marts 2003 - 02:14 #13
ahrensberg >> intet, print er et alias for echo (eller omvendt)

og n0rmality >> ( $i < sizeof($farve) )
da størrelsen på et 5 elementers array er 5 og array index ($i) starter på 0!
Hvis du bruger '<=' vil du prøve at printe $farve[5] ud og så kommer der en warning, undefined index!
Avatar billede dmcn Praktikant
25. marts 2003 - 02:17 #14
tefcke : Jo, der er forskel på echo og print. Læs oleboles ganske fornuftige forklaring. Mht. <= vs. <, så har du naturligvis ret. Første version var korrekt. :)
Avatar billede tefcke Nybegynder
25. marts 2003 - 02:18 #15
dooh, olebole har ret, jeg sidder og koger!
Avatar billede olebole Juniormester
25. marts 2003 - 02:28 #16
tefcke >> Det må du meget gerne uddybe. Sidder du bare og koger, skuffer du mig lidt ... det er da kedeligt.
Sidder du og ryger en koger, er det jo straks en _helt_ anden ting  ;oD
/mvh
Avatar billede olebole Juniormester
25. marts 2003 - 02:30 #17
... undskyld ... det gamle bon-hovede joker bare lidt her ude på de små timer  *-/
Avatar billede olebole Juniormester
25. marts 2003 - 02:35 #18
Hellere ryge en koger end koge en ryger  :D

SÅ ... OLE GÅ SÅ I SENG, FOR H......!
Avatar billede ahrensberg Nybegynder
25. marts 2003 - 09:50 #19
Ok... lærerig debat! "nOrmality" og "olebole" smider I ikke lige et svar, så kan I dele pointene sammen med "bearhugx"...
Avatar billede olebole Juniormester
25. marts 2003 - 09:51 #20
swaaaaar ....  :)
Avatar billede ahrensberg Nybegynder
25. marts 2003 - 09:54 #21
Ups... det kunne den ikke finde ud af! Jeg skrev 10 ved begge, men så delte den åbentbart pointene... Sorry n0rmality, dit svar var også helt kanont!
Avatar billede dmcn Praktikant
25. marts 2003 - 15:55 #22
Jeg klarer mig nok - point har jeg nok af, og jeg bruger ikke så mange. :)
Avatar billede olebole Juniormester
25. marts 2003 - 18:46 #23
Har man en god ICQ-liste, bruger man ikke så mange points  ;o))
Avatar billede dmcn Praktikant
25. marts 2003 - 18:49 #24
Og jeg har den bedste. ;)
Avatar billede olebole Juniormester
25. marts 2003 - 19:00 #25
Tak ... til Jer begge  ;o)
Avatar billede ahrensberg Nybegynder
25. marts 2003 - 19:15 #26
Halløjza i to... Når nu er så go'e som i påstår, så kunne I da lige kaste jeres ICQ numre! ;o) Evt. på min mail: kenneth@hrensberg.dk
Avatar billede olebole Juniormester
25. marts 2003 - 20:05 #27
Det er ikke noget personligt, men jeg har i forvejen en ICQ-liste, der hænger et par meter hen ad gulvet ... og svarer på rigelig spørgsmål  ;o)
Men du ved jo, hvor vi svarer, når vi har tid.
/mvh
Avatar billede ahrensberg Nybegynder
25. marts 2003 - 21:08 #28
Ok... det er bare helt fint! Så skriver jeg bare her... :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