Autor Zpráva
dufeja
Profil
Potřeboval bych prosím poradit - mám script na vytváření matematických grafů z funkcí. Používám javascript a pomocí ajaxu počítám v jiném php souboru. Z toho AJAXU předávám informace, jaký ten graf má být, PHP pomocí parametru GET. Např. jak velký má být graf, ale teď nevím, jak dostat přes GET předpis funkce. Přidání $ ke každé proměné není problém, to udělá javascript na začátku, ale jak to mám udělat potom. Děkuji

Př. - uživatel zadá do inputu x*x a potvrdí - javascript z toho udělá $x*$x; a odešle jako "funkce=$x*$x;" a teď jak udělám, aby PHP počítalo $y=$x*$x;
deader
Profil *
ja jsem v php docela lama,ale podle me, pokud jsem to spravne pochopil, by stacilo
$y=$funkce;
.
A prosim jeste o odpoved na me tema http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=85 924
deader
Profil *
nebo
$y=$_GET["funkce"];
Tomasds
Profil
eval, ale opatrně.
dufeja
Profil
$y=$_GET['funkce']; určitě nepůjde, to by vzniklo
$y="$x*$x;" a to je mi k ničemu.

Eval ale určitě ozkouším.
dufeja
Profil
Tak ani ten eval nefungoval, ale díky němu jsem našel něco jinýho - create_function.
joe
Profil
Přidání $ ke každé proměné není problém
Já bych to naopak nepřidával, ale jen odeslal "x*x"

V PHP třeba rozdělíš tu žádost pomocí RE (nějaké operátory, které chceš, nějak musíš poznat proměnné) do pole.

Nějak uděláš pole třeba:
$zadost = array(
[0] = > "x",
[1] = "*",
[2 = "x"])

a pak proměnnou vytvoříš $$zadost[0] // promenna x
dufeja
Profil
Jenže, jak by potom ten PHP script věděl, co má počítat, nemůžu přece napsat $zadost[0] $zadost[1] $zadost[2], to nevyznikne $x*$x, navíc bych chtěl, aby bylo možný používat třeba sin, cos, abs, atd.
joe
Profil
dufeja
Proto jsem do toho pole zahrnul i "*". Mě nenapadá jiný způsob, asi tak nějak bych na to šel, i když to třeba není zrovna moc dobře.
imploder
Profil
dufeja
Buď eval(), nebo algoritmus na vyhodnocení výrazů - to není moc složité, může být rekurzivní. Možná už seženeš hotový.
deader
Profil *
jasne jset to spatne pochopil :-)
Mohl by me prosim nekdo odpovedet na [url=http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&top ic=85 924]http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topi c=85 924[/url]
dufeja
Profil
Ta create_function funguje opravdu na výbornou.
Toto téma je uzamčeno. Odpověď nelze zaslat.