접미사 표현이란 무엇인가요? 후위 표현식은 괄호를 포함하지 않으며 연산자가 두 피연산자 뒤에 배치됨을 의미합니다. 모든 계산은 연산자가 나타나는 순서대로 왼쪽에서 오른쪽으로 엄격하게 수행됩니다(연산자의 우선순위 규칙은 더 이상 고려되지 않습니다). 이 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 => '3',
5 => '*',
7 => ,
8 = > '3',
9 => '/',
10 => '-',
)1
이 글을 공부한 후에는 모두 접미사 표현을 이해해야 합니다. PHP는 스택 기반 후위 표현식 평가 기능을 구현합니다. 이 방법은 프로그래머에게 매우 유용합니다.
이 기사가 PHP 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.
관련 추천:
후위 표현식에 대한 추천 기사 3개 php 4개의 산술 연산: 중위 표현식을 후위 표현식으로의 예 4개의 산술 표현식을 후위 표현식으로 변환위 내용은 PHP 튜토리얼: PHP는 스택 기반 접미사 표현식 평가 함수를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!