Autor Zpráva
Tworec
Profil
Lidi, potrebuju zjistit, co znamena, kdyz udelam chybu v php a napise se mi:
Parse error: syntax error, unexpected $end in C:\dev\www\kraceni.php on line 32

uz jsem mel tolik chyb, vsecky jsem dokazal odvodit, ale $end?? what??

Diky vsem
Měsíček
Profil
Že jsi někde něco zapomněl ukončit .. neznamená to samozřejmě proměnnou s názvem $end ;-)
keeehi
Profil *
nejsem si jistý, ale proměnou $end by se asi neměla používat. některá slova jsou vyhrazená pro PHP a je dost pravděpodobné, že k nim i end patřit bude.

PS. příště je dobré poslat i část kódu. Alespoň ten řádek o který se jedná, nejlépe však i kolem
Tworec
Profil
Prave se php ucim a snazim se udelat program na kraceni zlomku, tady je cely php kod

<?php
if (!empty ($_POST)) {extract ($_POST);

if ($a<>$b)
{if ($a>$b) $x=$a-$b;
elseif ($b>$a) $x=$b-$a;}
elseif ($a==$b) echo "1";
if ($a%$x=0 and $b%$x=0) {$a=$a/$x; $b=$b/$x;}
else echo "$a <br /> $b";
?>
Nox
Profil
Není nad přehlednost....

Nechybí tam koncová závorka k té první?
Měsíček
Profil
1.) Cožepak chceš dosáhnout tím <>?
2.) Chybí ti } u prvního i u druhého IFu.
3.) Píšeš hůř než prase.
Tworec
Profil
1) <> je to same jako != - nerová se
2) diky, uz to taky vidim
3) ja to mam pekne, v pspadu je to prehledne, ale kdyz jsem to zkopiroval, udelalo to tohle :)
Tworec
Profil
2) ne, spletl jsem se, nevidim to..
Měsíček
Profil
"3) ja to mam pekne, v pspadu je to prehledne, ale kdyz jsem to zkopiroval, udelalo to tohle :)"

Tím nemyslím jen úhlednost, ale celý kontext kódu.
Tworec
Profil
zkusim to zprahlednit

<?php
if (!empty ($_POST)) {extract ($_POST);

if ($a<>$b)
{
if ($a>$b)
$x=$a-$b;
elseif ($b>$a)
$x=$b-$a;
}
elseif ($a==$b)
echo "1";

if ($a%$x=0 and $b%$x=0)
{
$a=$a/$x; $b=$b/$x;
}
else echo "$a <br /> $b";
?>

Je to snad trosku prehlednejsi
Tworec
Profil
Ale to } tam je, ted to jde videt.. Neco jsem prehledl, nebo to tam mam?
Měsíček
Profil
-- vlastně ne .. počkat.
Nox
Profil
Tworec
Představ si, že takový kód od tebe někdo převezme nebo se na něj podíváš za dva týdny?
V obou případech bude naprosto nepochopitelný

Tak opět:
chybí ukončující závorka prvního ifu - spočítej si je: 3 otevírací, 2 uzavírací
Alphard
Profil
if (!empty ($_POST)) {extract ($_POST);


dále narazíte tady
if ($a%$x=0 and $b%$x=0)
Měsíček
Profil
<?php
if (!empty($_POST)) { extract ($_POST) }

if ($a != $b) { /* != je lepší */
  if ($a>$b) { 
    $x=$a-$b; 
  } elseif ($b>$a) { 
    $x=$b-$a; 
  } 
} elseif ($a == $b) {
  echo 1;
}

  if ($a%$x=0 and $b%$x=0) {
    $a=$a/$x; $b=$b/$x;
  } else {
    echo "$a <br /> $b";
  }

?>
Označený řádek je nějáký divný, zkus to udělat jinak ;-)
Tworec
Profil
Jo, ted uz to vidim, diky moc.. Zkusim se naucit psat to trosku prehledneji, jak rikam, teprv zacinam, takze moc nevim..
Nox
Profil
Mě taky irituje psát delší než jednopísmenný názvy, ale jinak to nejde

Pokud místo $prihlaseni["pocet"] budeš mít $a, tak za týden
na to budeš koukat co si to tam psal:)
Tworec
Profil
Tak, problem s $end je vyresen, ted uz jenom udelat neco, aby tenhle programek dokazal opravdu ten zlomek vykratit az na zakladni tvar :)
tiso
Profil
Tworec - tak k tomu vyriešeniu si sa ani nepriblížil. Jednoduchšiu verziu toho, čo potrebuješ, som nedávno robil, nemám to ale tu.
Tworec
Profil
no planuju tam jeste nekam narvat while, ale jeste presne nevim, kam to bude.. Ale jinak vubec zatim nevim, jestli to mam dobre, bo ted mi to pise takovych 10 chybovych hlasek :) a uz mi pomalu dochazi napady
Alphard
Profil
a uz mi pomalu dochazi napady
co třeba faktorizovat na prvočísla?
tiso
Profil
Tworec - stačí poznať agoritmus na nájdenie najväčšieho spoločného deliteľa:
//Greatest common divisor
function gcd($a, $b) {
	if(0 == $b){return $a;}
	return gcd($b, $a%$b);
}

...a zvyšok je už jednoduchý.
Tworec
Profil
:) ono to tak urcite i jde, ale opravdu jsem jenom zacatecnik a tak se na to snazim prijit s mymi znalostmi.. vim, co je to for, while, vim, jak zapsat negaci, vim neco o promennych, znam prikaz echo a vim, jak se to vsechno zapisuje.. a z toho musi jit udelat program na zkraceni zlomku do zakladniho tvaru.. Delam na tom uz dva dny, ale je to fakt slozite..
Alphard
Profil
Tworec
tiso ti to skoro vytvořil, je použito jen to, co jsi psal že umíš, navíc je tam jen vlastní funkce a rekurze
jakmile najdeš největšího společného dělitele, tak s ním jen vydělíš obě čísla a je to
Tworec
Profil
:) vzdyt ja vubec nevim, jak se pouziva return ani o function jsem jeste neslysel, no a to gcd se neda ani nijak odvodit.. jedine, co vim, je to if (0==$b) ;)
tiso
Profil
Tworec - v tom prípade sa ešte nauč používať funkcie, potom sa Ti ten skript podarí spraviť.
Tworec
Profil
ej ale to bude asi nejlepsi napad, jak ja to tak vidim, stejne bych na to ted jeste neprisel..

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0