Ongelmani on , etten saa seutaavaa koodia tulostamaan: 1 2 1 2 1 2 jne.
Laita komento continue; $a="1":n jälkeen. Tällöin ohjelma hyppää while-silmukan alkuun
Kai php sisältää continuen...
Tapoja on monia, mutta kun en tunne kieltä niin en nyt lähde arvuuttelemaan enempää, miten sen voisi tehdä.
Gaxx kirjoitti:
Laita komento continue; $a="1":n jälkeen. Tällöin ohjelma hyppää while-silmukan alkuun
Kai php sisältää continuen...
kyllä PHPees on continue.
Tässä yhdenlainen ratkaisu:
Alkuperäisen koodin ongelma on, että vertailussa kuuluisi olla ==
eikä =
. Muutenhan se taitaa olla aivan pätevä.
Ongelmissa kannattaisi kertoa myös, mitä koodi nykyään tekee. Jos olisit kertonut, että se tulostaa vain ykkösiä, olisivat jo edelliset vastaajat varmasti huomanneet katsoa, että if-lauseessa on virhe.
Tässä vielä toisenlainen ratkaisu:
Mun ratkaisu on tehokkaampi :P
Boolean-arvojen ja lukujen välillä vaihtelu tuskin on kovin tehokasta. Luultavasti olisi nopeampaa käyttää false
:n sijasta nollaa ja !
-operaattorin sijasta lauseketta $bit = 1 - $bit
.
No laitetaan sitten vielä tehokkaampaa:
$n = 1; // Alkuarvo $n = 3 - $n; // Vaihto ### 3 - 2 = 1 3 - 1 = 2
mun keino onki parempi ku teijän kaikkien yhteensä:
Joo, en tullut laittaneeksi niitä toisia "=" merkkejä. Tyhmä virhe multa, mutta kiitos nyt kumminkin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.