後置式とは何ですか?後置式は、括弧が含まれていないことを意味し、演算子は 2 つのオペランドの後に配置され、すべての計算は演算子が出現する順序で左から右に厳密に実行されます (演算子の優先順位規則は考慮されなくなりました)。この PHP チュートリアルでは、主に例を使用して、PHP のスタックベースのサフィックス式評価関数を説明します。参考までに皆さんにも共有してください。詳細は以下の通りです:
実装コード:
<?php class Stack{ public $stack; public $stack_top; public function __construct(){ $this->stack=array(); $this->stack_top=-1; } public function push($data){ $this->stack[]=$data; $this->stack_top++; } public function pop(){ if(!$this->is_empty()) { $this->stack_top--; return array_pop($this->stack); }else { echo "stack is empty"; } } public function is_empty(){ if($this->stack_top==-1) return true; } } $string="1243-*+63/-"; $arrs=str_split($string); echo var_export($arrs); $stack=new Stack(); foreach($arrs as $arr){ switch($arr){ case "+":$one=$stack->pop();$two=$stack->pop();$temp=$two + $one;$stack->push($temp);break; case "-":$one=$stack->pop();$two=$stack->pop();$temp=$two - $one;$stack->push($temp);break; case "*":$one=$stack->pop();$two=$stack->pop();$temp=$two * $one;$stack->push($temp);break; case "/":$one=$stack->pop();$two=$stack->pop();$temp=$two / $one;$stack->push($temp);break; default:$stack->push($arr); } } echo $stack->pop(); ?>
実行結果:
array (
0 => '1',
1 => '2',
2 = > '4'、
3 => '-'、
6 => '+'、
7 => 、
8 = > '3'、
9 => '/'、
10 => '-'、
)1
この記事を学習すると、接尾辞の表現とその方法を理解できるようになります。 PHP はスタックベースの後置式評価関数を実装しています。このメソッドはプログラマにとって非常に便利です。後で、皆さんに役立つ内容を紹介します。
この記事が PHP プログラミングのすべての人に役立つことを願っています。
関連する推奨事項:
後置式に関する 3 つの推奨記事 php 四則演算: 中置式から後置式への例 四則式から後置式への変換以上がPHP チュートリアル: PHP はスタックベースのサフィックス式評価関数を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。