Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Tutorial: PHP implementiert eine stapelbasierte Funktion zur Auswertung von Suffixausdrücken

PHP-Tutorial: PHP implementiert eine stapelbasierte Funktion zur Auswertung von Suffixausdrücken

小云云
小云云Original
2017-11-13 09:48:371634Durchsuche

Was ist ein Postfix-Ausdruck? Postfix-Ausdruck bedeutet, dass er keine Klammern enthält und der Operator hinter den beiden Operanden steht. Alle Berechnungen werden streng von links nach rechts in der Reihenfolge durchgeführt, in der die Operatoren erscheinen (die Prioritätsregeln der Operatoren werden nicht mehr berücksichtigt). Dieses PHP-Tutorial verwendet hauptsächlich Beispiele, um die stapelbasierte Suffixausdrucksauswertungsfunktion in PHP zu beschreiben. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Implementierungscode:

<?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();
?>

Laufendes Ergebnis:

array (
0 => '1',
1 => '2',
2 => '4',
3 => '3',
5 => '*',
6 => '+',
8 => ',
10 => '-',
)1


Nach dem Studium dieses Artikels muss jeder ein gewisses Verständnis für Suffixausdrücke haben und auch gelernt haben, wie man PHP zur Stapelimplementierung verwendet -basierte Ausdrucksauswertungsfunktion. Diese Methode ist für Programmierer sehr nützlich. Weitere verwandte Inhalte werden später eingeführt, um alle zu ermutigen.

Ich hoffe, dass dieser Artikel für alle hilfreich ist, die sich mit PHP-Programmierung befassen.

Verwandte Empfehlungen:

3 empfohlene Artikel über Suffixausdrücke

PHP Vier arithmetische Operationen: Konvertieren von Infix-Ausdrücken in Postfix-Ausdrücke Beispiel einer Formel

Vier arithmetische Ausdrücke in Postfix-Ausdrücke umwandeln

Das obige ist der detaillierte Inhalt vonPHP-Tutorial: PHP implementiert eine stapelbasierte Funktion zur Auswertung von Suffixausdrücken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn