어제 인터뷰 질문 중에 스택 적용에 대한 질문이 있었는데 당시에는 원리를 알고 있었지만 구체적인 코드를 작성하지 않았어서 오늘은 이에 대해 써보겠습니다. .
<?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); ?>
결과 인쇄:
---------------------------- ------------------------------------- ---------------------
배열([0] => 1_one [1] = >2_두 )
위의 내용을 포함하여 PHP 스택을 작성하는 방법을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.