Unter den Interviewfragen gab es gestern eine Frage zur Anwendung des Stacks. Ich kannte das Prinzip damals, hatte aber noch nicht den spezifischen Code geschrieben, über den ich heute schreiben werde. .
<?php /* * Created on 2015-4-9 * * PHP栈的应用 */ class Stack{ private $stack_arr =array(); private $end = null; public function push($str){ if($this->end === null){ $this->end = 0; }else{ $this->end++; } $this->stack_arr[$this->end] = $str; } public function pop(){ // if($this->end=null){return false;} //如果这样写,变量end为0的时候,是否就出错了 if(empty($this->stack_arr)){return false;} $pop_data = $this->stack_arr[$this->end]; array_splice($this->stack_arr,$this->end); $this->end--; return $pop_data; } public function getData(){ return $this->stack_arr; } } $arr = array(); $data_obj =new Stack(); $data_obj->push("1_one"); $data_obj->push("2_two"); $data_obj->push("3_three"); $data_obj->pop(); $arr = $data_obj->getData(); print_r($arr); ?>
Ergebnisse drucken:
-------------------------- -------------------------------------------------- ----------------------------------
Array ( [0] => 1_one [1] = > 2_two )
Das Obige stellt vor, wie man den PHP-Stack schreibt, einschließlich verschiedener Aspekte. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.