22 lines
533 B
PHP
22 lines
533 B
PHP
class Fifo {
|
|
private $data = array();
|
|
public function push($element){
|
|
array_push($this->data, $element);
|
|
}
|
|
public function pop(){
|
|
if ($this->isEmpty()){
|
|
throw new Exception('Attempt to pop from an empty queue');
|
|
}
|
|
return array_shift($this->data);
|
|
}
|
|
|
|
//Alias functions
|
|
public function enqueue($element) { $this->push($element); }
|
|
public function dequeue() { return $this->pop(); }
|
|
|
|
//Note: PHP prevents a method name of 'empty'
|
|
public function isEmpty(){
|
|
return empty($this->data);
|
|
}
|
|
}
|