/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Opfat streng som regnestykke
Fra : Brian Emilius


Dato : 16-04-06 08:18

Hej NG

Jeg leder efter et script der kan lege lommeregner.
Scriptet skal kunne opfatte en streng som et regnestykke (fx
"2+2/3*(5-6)") og returnere resultatet.

Nogle ideer?

--
Venlig hilsen
Brian Emilius

 
 
Jacob Atzen (16-04-2006)
Kommentar
Fra : Jacob Atzen


Dato : 16-04-06 08:30

On 2006-04-16, Brian Emilius <msn@emilius.dk> wrote:
> Hej NG
>
> Jeg leder efter et script der kan lege lommeregner.
> Scriptet skal kunne opfatte en streng som et regnestykke (fx
> "2+2/3*(5-6)") og returnere resultatet.
>
> Nogle ideer?

eval() - så længe du er sikker på, hvad du smider i den.

--
Med venlig hilsen
- Jacob Atzen

Brian Emilius (16-04-2006)
Kommentar
Fra : Brian Emilius


Dato : 16-04-06 08:31

Jacob Atzen skrev:
> eval() - så længe du er sikker på, hvad du smider i den.

Hmm skulle dette så virke:

$query = "2+2+2/3*(5-6)";
echo eval($query);

???

--
Venlig hilsen
Brian Emilius

Brian Emilius (16-04-2006)
Kommentar
Fra : Brian Emilius


Dato : 16-04-06 08:49

Brian Emilius skrev:
> Jacob Atzen skrev:
>
>> eval() - så længe du er sikker på, hvad du smider i den.
>
>
> Hmm skulle dette så virke:
>
> $query = "2+2+2/3*(5-6)";
> echo eval($query);
>
> ???
>

Det virker ikke...

--
Venlig hilsen
Brian Emilius

Jacob Atzen (16-04-2006)
Kommentar
Fra : Jacob Atzen


Dato : 16-04-06 09:01

On 2006-04-16, Brian Emilius <msn@emilius.dk> wrote:
> Hmm skulle dette så virke:
>
> $query = "2+2+2/3*(5-6)";
> echo eval($query);
>
> ???

Nej, manualen[1] siger:

...the string passed must be valid PHP code, including things
like terminating statements with a semicolon...

Og:

...eval() returns NULL unless return is called in the evaluated
code...

[1]: <http://dk2.php.net/eval>

--
Med venlig hilsen
- Jacob Atzen

Brian Emilius (16-04-2006)
Kommentar
Fra : Brian Emilius


Dato : 16-04-06 08:57

Jacob Atzen skrev:

> Nej, manualen[1] siger:
>
> ...the string passed must be valid PHP code, including things
> like terminating statements with a semicolon...
>
> Og:
>
> ...eval() returns NULL unless return is called in the evaluated
> code...
>
> [1]: <http://dk2.php.net/eval>

Ja, jeg har været inde på hjemmeside og kigge, men jeg fattede ikke
rigtig noget af det. Lidt hjælp til det her ville jeg være taknemmelig
for

--
Venlig hilsen
Brian Emilius

Jacob Atzen (16-04-2006)
Kommentar
Fra : Jacob Atzen


Dato : 16-04-06 09:17

On 2006-04-16, Brian Emilius <msn@emilius.dk> wrote:
> Ja, jeg har været inde på hjemmeside og kigge, men jeg fattede ikke
> rigtig noget af det. Lidt hjælp til det her ville jeg være taknemmelig
> for

Din streng er ikke gyldig PHP kode, da den ikke slutter med et
semikolon. Ligelegedes returnerer den altid NULL, da den ikke indeholder
en return statement. Brug:

$query = "return 2+2+2/3*(5-6);";

--
Med venlig hilsen
- Jacob Atzen

Brian Emilius (16-04-2006)
Kommentar
Fra : Brian Emilius


Dato : 16-04-06 09:17

Jacob Atzen skrev:
> On 2006-04-16, Brian Emilius <msn@emilius.dk> wrote:
>
>>Ja, jeg har været inde på hjemmeside og kigge, men jeg fattede ikke
>>rigtig noget af det. Lidt hjælp til det her ville jeg være taknemmelig
>>for
>
>
> Din streng er ikke gyldig PHP kode, da den ikke slutter med et
> semikolon. Ligelegedes returnerer den altid NULL, da den ikke indeholder
> en return statement. Brug:
>
> $query = "return 2+2+2/3*(5-6);";
>

Mange tak. Nu mangler jeg bare at lave et tjek for at se om query nu
også er et gyldigt regnestykke

--
Venlig hilsen
Brian Emilius

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste