Annotation of embedaddon/php/ext/spl/tests/iterator_053.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: SPL: RegexIterator::ALL_MATCHES
3: --FILE--
4: <?php
5:
6: class MyRegexIterator extends RegexIterator
7: {
8: public $uk, $re;
9:
10: function __construct($it, $re, $mode, $flags = 0)
11: {
12: $this->uk = $flags & self::USE_KEY;
13: $this->re = $re;
14: parent::__construct($it, $re, $mode, $flags);
15: }
16:
17: function show()
18: {
19: foreach($this as $k => $v)
20: {
21: var_dump($k);
22: var_dump($v);
23: }
24: }
25:
26: function accept()
27: {
28: @preg_match_all($this->re, (string)($this->uk ? $this->key() : $this->current()), $sub);
29: $ret = parent::accept();
30: var_dump($sub == $this->current());
31: return $ret;
32: }
33: }
34:
35: $ar = new ArrayIterator(array('1','1,2','1,2,3','',NULL,array(),'FooBar',',',',,'));
36: $it = new MyRegexIterator($ar, '/(\d),(\d)/', RegexIterator::ALL_MATCHES, RegexIterator::USE_KEY);
37: $it->show();
38:
39: $it = new MyRegexIterator($ar, '/(\d)/', RegexIterator::ALL_MATCHES, RegexIterator::USE_KEY);
40: $it->show();
41:
42: var_dump($ar);
43:
44: ?>
45: ===DONE===
46: <?php exit(0); ?>
47: --EXPECTF--
48: bool(true)
49: int(0)
50: array(3) {
51: [0]=>
52: array(0) {
53: }
54: [1]=>
55: array(0) {
56: }
57: [2]=>
58: array(0) {
59: }
60: }
61: bool(true)
62: int(1)
63: array(3) {
64: [0]=>
65: array(0) {
66: }
67: [1]=>
68: array(0) {
69: }
70: [2]=>
71: array(0) {
72: }
73: }
74: bool(true)
75: int(2)
76: array(3) {
77: [0]=>
78: array(0) {
79: }
80: [1]=>
81: array(0) {
82: }
83: [2]=>
84: array(0) {
85: }
86: }
87: bool(true)
88: int(3)
89: array(3) {
90: [0]=>
91: array(0) {
92: }
93: [1]=>
94: array(0) {
95: }
96: [2]=>
97: array(0) {
98: }
99: }
100: bool(true)
101: int(4)
102: array(3) {
103: [0]=>
104: array(0) {
105: }
106: [1]=>
107: array(0) {
108: }
109: [2]=>
110: array(0) {
111: }
112: }
113: bool(true)
114: int(5)
115: array(3) {
116: [0]=>
117: array(0) {
118: }
119: [1]=>
120: array(0) {
121: }
122: [2]=>
123: array(0) {
124: }
125: }
126: bool(true)
127: int(6)
128: array(3) {
129: [0]=>
130: array(0) {
131: }
132: [1]=>
133: array(0) {
134: }
135: [2]=>
136: array(0) {
137: }
138: }
139: bool(true)
140: int(7)
141: array(3) {
142: [0]=>
143: array(0) {
144: }
145: [1]=>
146: array(0) {
147: }
148: [2]=>
149: array(0) {
150: }
151: }
152: bool(true)
153: int(8)
154: array(3) {
155: [0]=>
156: array(0) {
157: }
158: [1]=>
159: array(0) {
160: }
161: [2]=>
162: array(0) {
163: }
164: }
165: bool(true)
166: int(0)
167: array(2) {
168: [0]=>
169: array(1) {
170: [0]=>
171: string(1) "0"
172: }
173: [1]=>
174: array(1) {
175: [0]=>
176: string(1) "0"
177: }
178: }
179: bool(true)
180: int(1)
181: array(2) {
182: [0]=>
183: array(1) {
184: [0]=>
185: string(1) "1"
186: }
187: [1]=>
188: array(1) {
189: [0]=>
190: string(1) "1"
191: }
192: }
193: bool(true)
194: int(2)
195: array(2) {
196: [0]=>
197: array(1) {
198: [0]=>
199: string(1) "2"
200: }
201: [1]=>
202: array(1) {
203: [0]=>
204: string(1) "2"
205: }
206: }
207: bool(true)
208: int(3)
209: array(2) {
210: [0]=>
211: array(1) {
212: [0]=>
213: string(1) "3"
214: }
215: [1]=>
216: array(1) {
217: [0]=>
218: string(1) "3"
219: }
220: }
221: bool(true)
222: int(4)
223: array(2) {
224: [0]=>
225: array(1) {
226: [0]=>
227: string(1) "4"
228: }
229: [1]=>
230: array(1) {
231: [0]=>
232: string(1) "4"
233: }
234: }
235: bool(true)
236: int(5)
237: array(2) {
238: [0]=>
239: array(1) {
240: [0]=>
241: string(1) "5"
242: }
243: [1]=>
244: array(1) {
245: [0]=>
246: string(1) "5"
247: }
248: }
249: bool(true)
250: int(6)
251: array(2) {
252: [0]=>
253: array(1) {
254: [0]=>
255: string(1) "6"
256: }
257: [1]=>
258: array(1) {
259: [0]=>
260: string(1) "6"
261: }
262: }
263: bool(true)
264: int(7)
265: array(2) {
266: [0]=>
267: array(1) {
268: [0]=>
269: string(1) "7"
270: }
271: [1]=>
272: array(1) {
273: [0]=>
274: string(1) "7"
275: }
276: }
277: bool(true)
278: int(8)
279: array(2) {
280: [0]=>
281: array(1) {
282: [0]=>
283: string(1) "8"
284: }
285: [1]=>
286: array(1) {
287: [0]=>
288: string(1) "8"
289: }
290: }
291: object(ArrayIterator)#%d (1) {
292: ["storage":"ArrayIterator":private]=>
293: array(9) {
294: [0]=>
295: %s(1) "1"
296: [1]=>
297: %s(3) "1,2"
298: [2]=>
299: %s(5) "1,2,3"
300: [3]=>
301: %s(0) ""
302: [4]=>
303: NULL
304: [5]=>
305: array(0) {
306: }
307: [6]=>
308: %s(6) "FooBar"
309: [7]=>
310: %s(1) ","
311: [8]=>
312: %s(2) ",,"
313: }
314: }
315: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>