From string to math

Imam u stringu:

$string = ‘1+1’;

Ako napravim return $string, ispisati će 1+1, kako da napravim da mi to izračuna?

[quote=“jojo”]Imam u stringu:

$string = ‘1+1’;

Ako napravim return $string, ispisati će 1+1, kako da napravim da mi to izračuna?[/quote]

Ovo mi je palo na pamet vjerojatno nije najbolji način.

Zasto ne ovako ?

$a = 1;
$b = 1;
echo $a + $b;

eval?

[quote=“Piky”]Ovo mi je palo na pamet vjerojatno nije najbolji način.

To sam zaboravio napomenit da ne dolazi u obzir, explode, preg_split ili nešto tako.

Upravo sam to probao, ali dobijem:

Parse error: parse error in … : eval()'d code on line 1

[php]
$action = ‘1+1’;

$calc = eval($action);

echo $calc;[/php]

Probaj:

Možeš probati i zgodnu funkciju matheval():
http://www.php.net/manual/en/function.eval.php#92603
koja će donijeti malo sigurnosti u radu sa eval()

<?php $action = "1+1"; eval("\$var=".$action.";"); echo $var; ?>

Preduhitri me :slight_smile: Rješio, hvala :wink:

mozes i ovako

[quote=“antelaca”]mozes i ovako

Bravo majstore! Elegantno rješenje bez eval(), regexa i drugih nepotrebnih stvari. :ideja:

Lijepo rješenje, ali koristiš funkcije create_function. :stuck_out_tongue:

[quote=“antelaca”]mozes i ovako

lijepo, lijepo, hvala :stuck_out_tongue:

Slažem se da nije velika razlika u ovom slučaju, ali ipak mi je draži create_function() od eval().

Malo sam testirao brzinu i eval() je puno brži od create_function() pa ako je brzina ključna onda bi ipak ostao kod eval().


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja