Autor Zpráva
lukaspce
Profil
Please help vypisuje mi to pořád chybu:
Parse error: syntax error, unexpected ')', expecting ';' in /home/free/ic.cz/z/zahrajte-si-piskvorky/root/www/generator2.php on line 2

script:
<?
for ($y<=15)
{
$y++;
for ($x<=15)
{
$x++;
echo "<div class="policko">";
echo "&lt;?=(dolar)obrazek[";
echo $y;
echo "]";
echo "[";
echo $x;
echo "?&gt;</div>";
}
echo "<br>";
}
?>
nightfish
Profil
http://cz.php.net/for
Joker
Profil
lukaspce
For cyklus se dělá úplně jinak, viz nightfish.
Do Vašeho příkladu nepatří "for", ale "while"
lukaspce
Profil
Hm v tom případě to mám teda blbě úplně, potřebuju udělat něco jako šachovnici (vygenerovat) a když to udělám takhle:
<?
while ($y<=15)
{
$y++;
while ($x<=15)
{
$x++;
echo "<div class="policko">";
echo "&lt;?=(dolar)obrazek[";
echo $y;
echo "]";
echo "[";
echo $x;
echo "?&gt;</div>";
}
echo "<br>";
}
?>

tak mi to vygeneruje jen první sloupec (y)..
WertriK
Profil
<?
for ($y = 0; $y <=15; $y++) {

for ($x = 0; $x <=15; $x++) {
echo "<div class="policko">";
echo "&lt;?=(dolar)obrazek[";
echo $y;
echo "]";
echo "[";
echo $x;
echo "?&gt;</div>";
}

echo "<br>";
}
?>
nightfish
Profil
tak a já ještě poupravím Jokera
v případech, kdy známe přesný počet iterací, použijeme cyklus for


for ($y = 0; $y <= 15; $y++) {
for ($x = 0; $x <= 15; $x++) {
echo "<div class=\"policko\">";
echo "&lt;?=(dolar)obrazek[";
echo $y."][".$x."?&gt;</div>";
}
echo "<br>";
}
Joker
Profil
lukaspce
No logicky to vygeneruje jen první sloupec, protože po prvním cyklu máte $x = 16, takže při těch dalších už se ten vnitřní while cyklus neprovede.

No nic, napište to takhle:
for($y=0; $y<16; $y++) {
for($x=0;$x<16;$x++) {
echo('<div class="policko">'.$obrazek[$y][$x].'</div>');
}
}

případně zkráceně:
for($y=0; $y<16; $y++) for($x=0;$x<16;$x++) echo('<div class="policko">'.$obrazek[$y][$x].'</div>');

Alespoň předpokládám, že tohle je to, co měl ten vnitřek původně vypisovat. Jestli ne, tak si upravte funkci echo.
lukaspce
Profil
díkys všem =). Konečně sem pochopil for..
Toto téma je uzamčeno. Odpověď nelze zaslat.