MIOLO20
Carregando...
Procurando...
Nenhuma entrada encontrada
mlist.class
Ir para a documentação deste ficheiro.
1<?php
2class MList
3{
4 public $items;
5 private $count;
6
7 function __construct()
8 {
9 $this->items = array
10 (
11 );
12
13 $this->count = 0;
14 }
15
16 function add($item, $key = NULL)
17 {
18 if (is_null($key))
19 {
20 $this->items[$this->count++] = $item;
21 }
22 else
23 {
24 $this->items[$key] = $item;
25 $this->count++;
26 }
27 }
28
29 function clear()
30 {
31 $this->items = array
32 (
33 );
34
35 $this->count = 0;
36 }
37
38 function delete($key)
39 {
40 if (array_key_exists($key, $this->items))
41 {
42 unset($this->items[$key]);
43 $this->count--;
44 }
45 }
46
47 function insert($item, $key = 0)
48 {
49 if (is_numeric($key))
50 {
51 if ($key < $this->count)
52 {
53 for ($i = $this->count; $i >= $key; $i--)
54 $this->items[$i] = $this->items[$i - 1] ?? null;
55 }
56 else
57 {
58 $key = $this->count;
59 }
60 }
61
62 $this->add($item, $key);
63 }
64
65 function get($key)
66 {
67 if (array_key_exists($key, $this->items))
68 {
69 return $this->items[$key];
70 }
71 }
72
73 function getItems( )
74 {
75 return $this->items;
76 }
77
78 function setItems( $items )
79 {
80 $this->items = $items;
81 }
82
83
84 function set($key, $item)
85 {
86 if (array_key_exists($key, $this->items))
87 {
88 $this->items[$key] = $item;
89 }
90 }
91
92 function hasItems()
93 {
94 return ($this->count > 0);
95 }
96}
97
98class MStringList extends MList
99{
101
102 function __construct($duplicates = true)
103 {
104 parent::__construct();
105 $this->duplicates = $duplicates;
106 }
107
108 function add($item, $key = NULL)
109 {
110 if (in_array($item, $this->items))
111 if (!$this->duplicates)
112 return;
113
114 parent::add($item, $key);
115 }
116
117 function addValue($name, $value)
118 {
119 $this->add($value, $name);
120 }
121
122 function find($value)
123 {
124 return array_search( $value, $this->items);
125 }
126
127 function getText($separator = '=', $delimiter = ',')
128 {
129 $s = '';
130
131 foreach ($this->items as $name => $value)
132 {
133 $s .= (($s != '') ? $delimiter : '') . (($value != '') ? "$name{$separator}$value" : $name);
134 }
135
136 return $s;
137 }
138
139 function getValueText($separator = '=', $delimiter = ',')
140 {
141 $s = '';
142
143 foreach ($this->items as $value)
144 {
145 $s .= (($s != '') ? $delimiter : '') . $value;
146 }
147
148 return $s;
149 }
150
151 function getTextByTemplate($template)
152 {
153 $s = '';
154
155 foreach ($this->items as $name => $value)
156 {
157 $s .= str_replace('/:n/', $name, str_replace('/:v/', $value, $template));
158 }
159
160 return $s;
161 }
162}
163
164class MObjectList extends MList
165{
166}
167?>
Definição mlist.class:3
__construct()
Definição mlist.class:7
hasItems()
Definição mlist.class:92
setItems( $items)
Definição mlist.class:78
$items
Definição mlist.class:4
clear()
Definição mlist.class:29
getItems()
Definição mlist.class:73
add($item, $key=NULL)
Definição mlist.class:16
insert($item, $key=0)
Definição mlist.class:47
getTextByTemplate($template)
Definição mlist.class:151
getText($separator='=', $delimiter=',')
Definição mlist.class:127
__construct($duplicates=true)
Definição mlist.class:102
getValueText($separator='=', $delimiter=',')
Definição mlist.class:139
addValue($name, $value)
Definição mlist.class:117
add($item, $key=NULL)
Definição mlist.class:108
find($value)
Definição mlist.class:122