ホームページ >バックエンド開発 >PHPチュートリアル >操車場アルゴリズムを使用して PHP 計算機を構築するにはどうすればよいですか?
問題:
単純な代数を評価する PHP 電卓を開発したいと考えています。ユーザーが入力した式を標準表記で表示し、評価プロセスを表示します。課題は、式の値を効率的に計算することにあります。
答え:
代数式を評価する際の単純さと効率性のために、操車場アルゴリズムの利用を検討してください。
式の定義:
括弧、数値、演算子などの式のさまざまな要素を表すクラスを作成します:
class Parenthesis extends TerminalExpression { ... } class Number extends TerminalExpression { ... } class Addition extends Operator { ... } class Subtraction extends Operator { ... } class Multiplication extends Operator { ... } class Division extends Operator { ... } class Power extends Operator { ... }
スタック実装:
class Stack { protected $data = array(); // ... Methods for pushing, popping, and peeking from the stack ... }
Executor クラス:
Executor クラスは、Shanging Yard アルゴリズムを使用して式を解析し、評価しますit:
class Math { // ... Fields and methods for parsing, running, and evaluating the expression ... }
例:
計算機の使用方法の例を次に示します:
$math = new Math(); $answer = $math->evaluate('(2 + 3) * 4'); var_dump($answer); // int(20) $answer = $math->evaluate('1 + 2 * ((3 + 4) * 5 + 6)'); var_dump($answer); // int(83)
この例では、グループ化と演算子について説明します。優先権。ただし、特定の要件に合わせて実装をカスタマイズできます。
以上が操車場アルゴリズムを使用して PHP 計算機を構築するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。