PHP-ban lehet olyat hogy szöveget mint matematikai műveletet felismerje?
Konkrétan a törtet, pl. 45/10 mint szövegként bevitt érték, és kiírja válaszként hogy 4.5?
(int)$value nem jó, intval sem erre való, explode-dal nem akarok foglalkozni, valami ettől rövidebb megoldás kellene, ha van.
Köszi
Tudomásom szerint a PHP Turing-teljes, így értelemszerűen megoldható benne a feladat.
Mivel sanszos, hogy ilyesmi nem neked jutott először eszedbe, ilyenkor lib után szokás túrni, hogy az ember ne találja fel újra a melegvizet.
Ez az első megoldás, amit a gugli kiköpött: [link]
Literálokat is megeszik, így neked valószínűleg csak a setExpression és a getValue metódus érdekes első körben.
$kifejezes = '45/10';
eval('print '.$kifejezes.';');
eval paraméterként kapott stringet lefuttatja, mint kód. Persze ehhez garantálni kell, hogy értelmes kifejezést kap.
Kicsit kiegészítve: [link]
Azért eval() mert így lehet futtatható műveletként értelmezni.
eval - nélkül is megoldható, ha szét cibáljuk elemeire, majd értelmezzük, és össze rakjuk újra egy PHP műveletté.
#5:
$kifejezes = 'unlink(".htpasswd")';
eval('print '.$kifejezes.';');
Nem lesz ez így jó ;)
Köszönöm a válaszokat, de igazából nem komplett matematikai feladathoz szükséges a kód, csak exif-hez gondoltam 1 soros vagy pár szavas kódot ahelyett hogy felbontom a perjelnél és utána a két tömbértéket elosztom.
45/10 lesz egy 4.5-es rekeszérték.
#7 ma 15:39
De jó lesz az úgy :)
Nem említette, hogy banki rendszert akar mögé építeni. A "konkrétan" részt teljesen megoldja más számokkal is.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!