Terve olen tässä miettinyt että miten onnistuisisin toistamaan merkkijonon "kapakala", siten että tulos olisi =
k
ka
kap
kapa
kapak
kapaka
kapakal
kapakala
Yritin sitä tollatapaa mutta ei oikee onnistunut... siintä tuntus tulevan loputon tulos...
Mod. lisäsi kooditagit
Kiitos paljon! Nyt toimii!
Alkuperäisen koodin melko triviaali virhe on, että eihän vertailussa "kapakala" < 8
ole oikein mitään järkeä – puhumattakaan tekstin "kapakala" lisäämisestä yhdellä ($i++). Vai pystytkö itse sanomaan, onko kapakala pienempi kuin kahdeksan ja paljonko on kapakala + 1?
Kannattaa siis lukea koodi ääneen ja miettiä, onko näissä tietokoneelle tarkoitetuissa ohjeissa jotain mahdollisesti epäselvää. Ihminen osaa ehkä arvata puuttuvat ohjeet, tietokone lähtökohtaisesti ei.
Juu... No oon viel alottelija tässä ja tollasta ei oo aikasemmi tullut vastaa... Mutta tällä kertaa yritin laittaa tulostuksen nurinkurin että vastaukseksi tulisi:
kapakala
kapakal
kapaka
kapak
kapa
kap
ka
k
Mutta siitä tulikin:
kapakal
kapaka
kapak
kapa
kap
ka
k
ja se yrittää koko ajan lähettää "Dataa" kun kattoo selaimen vasemmasta alareunasta ja muutenkii latautuu hitaasti, et mikäs tossa maihtais olla vikana?
<?php $sana = "kapakala"; $pituus = strlen($sana); for($i = 0; $i < $pituus - 1; $i--) { echo substr($sana, 0, $i) . "<br>\n";
Mod. lisäsi kooditagit
Suosittelen tutustumaan PHP-oppaaseen, for-silmukka löytyy oppaan 3. osasta.
Vika silmukassasi on, että alustat $i
:n nollaksi, vähennät sitä joka kierroksella yhdellä ($i
:stä tulee siis -1, -2, -3 jne.), joten ehto $i < $pituus - 1
täyttyy aina (silmukka ei pääty koskaan).
Nyt toimii! Kiitos, ja pitää tosiaankii lukee tota for-silmukka osioo!
Aihe on jo aika vanha, joten et voi enää vastata siihen.