albertoarena/calculator

0.2 2016-04-23 09:58 UTC

This package is not auto-updated.

Last update: 2024-09-26 00:52:22 UTC


README

简单的PHP计算器,受后缀表达式算法启发。

支持基本运算符(+,-,/,*,^)、三角运算符和优先级。

运算符

运算符的顺序遵循标准(见维基百科

高优先级

  • ^:指数(幂)
  • :平方根(别名 sqrt

中等优先级

  • \*:乘法
  • /:除法
  • sin:正弦
  • cos:余弦
  • tan:正切
  • asin:反正弦
  • acos:反余弦
  • atan:反正切

低优先级

  • +:加法
  • -:减法

如何使用它

一个示例在samples/basic.php中可用。

use Calculator\Calculator;

$calculator = new Calculator();

// Basic operators
$calculator->number(1)
    ->operator('+')->number(5)
    ->operator('*')->number(3.5)
    ->operator('/')->number(2)
    ->execute();

echo $calculator;
// ==> 1 + 5 * 3.5 / 2 = 9.75

// Power
$calculator->number(2)
    ->operator('*')->number(2)
    ->operator('^')->number(4)
    ->execute();

echo $calculator;
// ==> 2 * 2 ^ 4 = 32

// Square root
$result = $calculator->number(9)
    ->operator('')
    ->execute();

echo $calculator;
// ==> √ 9 = 3

// Trigonometry
$result = $calculator->number(1)
    ->operator('cos')
    ->execute();

echo $calculator;
// ==> cos (1) = 0.54030230586814