Stack::pop()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 1
c 1
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
nop 0
1
<?php
2
3
namespace VLF;
4
5
/**
6
 * Структура данных стэк
7
 */
8
class Stack
9
{
10
    // Массив элементов
11
    protected array $items = [];
12
13
    /**
14
     * Добавить элемент в стэк
15
     * 
16
     * @param mixed $item - элемент
17
     * 
18
     * @return Stack - возвращает сам себя
19
     */
20
    public function push ($item): Stack
21
    {
22
        $this->items[] = $item;
23
24
        return $this;
25
    }
26
27
    /**
28
     * Вывести текущий элемент стэка
29
     * 
30
     * @return mixed - возвращает текущий элемент
31
     */
32
    public function current ()
33
    {
34
        return end ($this->items);
35
    }
36
37
    /**
38
     * Вывести текущий элемент стэка и удалить его
39
     * 
40
     * @return mixed - возвращает текущий элемент
41
     */
42
    public function pop ()
43
    {
44
        return array_pop ($this->items);
45
    }
46
47
    /**
48
     * Вывести размер стэка
49
     * 
50
     * @return int - возвращает размер стэка
51
     */
52
    public function size (): int
53
    {
54
        return sizeof ($this->items);
55
    }
56
}
57