/ 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
indlejret for-løkke
Fra : MooreHojer


Dato : 25-07-07 17:35

Hej NG

Jeg har følgende kode:

$s = 1;
$numOfMiddleRows = 3;
for($u = 1; $u <= $numOfMiddleRows; $u++) {
   echo "<tr>";
   for($v = 1; $v <= 7; $v++) {
      echo "<td>";
      echo "$s";
      echo "</td>";
      $s = $s++;
   }
   echo "</tr>";
}


og det giver følgende output:

1   1   1   1   1   1   1
1   1   1   1   1   1   1
1   1   1   1   1   1   1


hvorfor det?
Jeg ville have troet (og regnede faktisk med) at det gav:

1   2   3   4   5   6   7
8   9   10   11   12   13   14
15   16   17   18   19   20   21



På Forhånd Tak!

--
MooreHojer

 
 
MooreHojer (25-07-2007)
Kommentar
Fra : MooreHojer


Dato : 25-07-07 17:43

> Jeg har følgende kode:
>
> $s = 1;
> $numOfMiddleRows = 3;
> for($u = 1; $u <= $numOfMiddleRows; $u++) {
> echo "<tr>";
> for($v = 1; $v <= 7; $v++) {
> echo "<td>";
> echo "$s";
> echo "</td>";
> $s = $s++;
> }
> echo "</tr>";
> }

Undskylder mange gange for ulejligheden ....
fejlen ligger selvfølgelig i at jeg har sagt
   $s = $s++;
i stedet for
   $s = ++$s;

Når det er rettet virker det hele som det skal

Bertel Lund Hansen (25-07-2007)
Kommentar
Fra : Bertel Lund Hansen


Dato : 25-07-07 17:53

MooreHojer skrev:

> fejlen ligger selvfølgelig i at jeg har sagt
>    $s = $s++;
> i stedet for
>    $s = ++$s;

Jeg vil kalde begge dele for en fejl. Den korrekte syntaks er

   ++$s;

eller

   $s++;

Begge dele har samme effekt i dit eksempel.

Denne kode (hvis den virker):

   $s = ++$s;

lægger først 1 til $s hvorefter den sætter $s lig med sig selv.
Det er lidt kringlet.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

MooreHojer (25-07-2007)
Kommentar
Fra : MooreHojer


Dato : 25-07-07 17:59

> Denne kode (hvis den virker):
>
>    $s = ++$s;
>
> lægger først 1 til $s hvorefter den sætter $s lig med sig selv.
> Det er lidt kringlet.

Den virker, men er nu blevet rettet til ++$s



Birger (25-07-2007)
Kommentar
Fra : Birger


Dato : 25-07-07 19:36

"MooreHojer" <simon@moorehojer.dk> skrev i en meddelelse
news:46a78142$0$90274$14726298@news.sunsite.dk...
>> Denne kode (hvis den virker):
>>
>> $s = ++$s;
>>
>> lægger først 1 til $s hvorefter den sætter $s lig med sig selv.
>> Det er lidt kringlet.
>
> Den virker, men er nu blevet rettet til ++$s
>
>


Somme tider er de smarte ting for komplicerede ;>)

$s = $s+1, kan vist også bruges...

Birger



Bertel Lund Hansen (25-07-2007)
Kommentar
Fra : Bertel Lund Hansen


Dato : 25-07-07 20:00

Birger skrev:

> $s = $s+1, kan vist også bruges...

Ja, men jeg vil anbefale ++-notationen. Så skal variabelnavnet
kun skrives én gang. Det reducerer muligheden for stavefejl, og
det viser tydeligere hvad der sker. Prøv at se dette eksempel:

   $i=$l+1;

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Mads Lie Jensen (25-07-2007)
Kommentar
Fra : Mads Lie Jensen


Dato : 25-07-07 20:21

On Wed, 25 Jul 2007 20:35:53 +0200, "Birger" <sdc@bbsorensen.com> wrote:

>Somme tider er de smarte ting for komplicerede ;>)
>
>$s = $s+1, kan vist også bruges...

$s += 1; vil også virke.
Men jeg syntes også ++$s er lettere at forstå.

--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
Gartneriet - http://www.gartneriet.dk/

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408924
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste