此包的最新版本(1.0.2)没有提供许可证信息。

EvalMath

1.0.2 2024-09-23 21:16 UTC

This package is not auto-updated.

Last update: 2024-09-23 21:17:28 UTC


README

EvalMath 的 Composer/Packagist 版本,最初由 Miles Kaufman 创建,版权所有 (C) 2005 Miles Kaufmann http://www.twmagic.com/

此版本包含 moodle 的改进。

名称

EvalMath - safely evaluate math expressions

描述

Use the EvalMath class when you want to evaluate mathematical expressions 
from untrusted sources.  You can define your own variables and functions,
which are stored in the object.  Try it, it's fun!

概述

`$m = new EvalMath;`

`// basic evaluation:`
`$result = $m->evaluate('2+2');`

`// supports: order of operation; parentheses; negation; built-in functions`
`$result = $m->evaluate('-8(5/2)^2*(1-sqrt(4))-8');`

`// create your own variables`
`$m->evaluate('a = e^(ln(pi))');`

`// or functions`
`$m->evaluate('f(x,y) = x^2 + y^2 - 2x*y + 1');`

`// and then use them`
`$result = $m->evaluate('3*f(42,a)');`

方法

`$m->evaluate($expr)`
    Evaluates the expression and returns the result.  If an error occurs,
    prints a warning and returns false.  If $expr is a function assignment,
    returns true on success.

`$m->e($expr)`
    A synonym for $m->evaluate().

`$m->vars()`
    Returns an associative array of all user-defined variables and values.
    
`$m->funcs()`
    Returns an array of all user-defined functions.

参数

`$m->suppress_errors`
    Set to true to turn off warnings when evaluating expressions

`$m->last_error`
    If the last evaluation failed, contains a string describing the error.
    (Useful when suppress_errors is on).