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?
Skrevet tir. d. 25. marts 2003 kl. 00:57:25| #1
while ($billed_nr <= $antal_billeder) {
echo $farve."".$billed_nr;
$billed_nr;
}
Skrevet tir. d. 25. marts 2003 kl. 00:58:02| #2
ved ikke om du faktisk kan undgå den tomme streng - altså
echo $farve.$billed_nr;
tester lige..
Skrevet tir. d. 25. marts 2003 kl. 01:00:35| #3
yeps ...
du kan skrive :
while ($billed_nr <= $antal_billeder) {
echo $farve.$billed_nr;
$billed_nr;
}
Skrevet tir. d. 25. marts 2003 kl. 01:04:09| #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!
Skrevet tir. d. 25. marts 2003 kl. 01:07:16| #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...
Skrevet tir. d. 25. marts 2003 kl. 01:11:17| #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?
Skrevet tir. d. 25. marts 2003 kl. 01:11:36| #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. :)
Skrevet tir. d. 25. marts 2003 kl. 01:13:09| #8
Måske skulle for-linien lige rettes til:
for ($i = 0; $i <= sizeof($farve); $i++) {
Skrevet tir. d. 25. marts 2003 kl. 01:13:13| #9
Jeg prøver, men tror jeg går i seng nu! Må kigge videre imorgen...
Skrevet tir. d. 25. marts 2003 kl. 01:22:22| #10
Hva' er forskellen på print og echo?
Skrevet tir. d. 25. marts 2003 kl. 02:00:39| #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>
Skrevet tir. d. 25. marts 2003 kl. 02:03:18| #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)
Skrevet tir. d. 25. marts 2003 kl. 02:14:59| #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!
Skrevet tir. d. 25. marts 2003 kl. 02:17:45| #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. :)
Skrevet tir. d. 25. marts 2003 kl. 02:18:51| #15
dooh, olebole har ret, jeg sidder og koger!
Skrevet tir. d. 25. marts 2003 kl. 02:28:29| #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
Skrevet tir. d. 25. marts 2003 kl. 02:30:36| #17
... undskyld ... det gamle bon-hovede joker bare lidt her ude på de små timer *-/
Skrevet tir. d. 25. marts 2003 kl. 02:35:05| #18
Hellere ryge en koger end koge en ryger :D
SÅ ... OLE GÅ SÅ I SENG, FOR H......!
Skrevet tir. d. 25. marts 2003 kl. 09:50:31| #19
Ok... lærerig debat! "nOrmality" og "olebole" smider I ikke lige et svar, så kan I dele pointene sammen med "bearhugx"...
Skrevet tir. d. 25. marts 2003 kl. 09:51:33| #20
Skrevet tir. d. 25. marts 2003 kl. 09:54:07| #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!
Skrevet tir. d. 25. marts 2003 kl. 15:55:14| #22
Jeg klarer mig nok - point har jeg nok af, og jeg bruger ikke så mange. :)
Skrevet tir. d. 25. marts 2003 kl. 18:46:43| #23
Har man en god ICQ-liste, bruger man ikke så mange points ;o))
Skrevet tir. d. 25. marts 2003 kl. 18:49:28| #24
Og jeg har den bedste. ;)
Skrevet tir. d. 25. marts 2003 kl. 19:00:35| #25
Tak ... til Jer begge ;o)
Skrevet tir. d. 25. marts 2003 kl. 19:15:25| #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
Skrevet tir. d. 25. marts 2003 kl. 20:05:30| #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
Skrevet tir. d. 25. marts 2003 kl. 21:08:55| #28
Ok... det er bare helt fint! Så skriver jeg bare her... :o)