Annotation of embedaddon/php/ext/spl/tests/iterator_052.phpt, revision 1.1.1.2
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);
37: $it->show();
38:
39: $it = new MyRegexIterator($ar, '/(\d)/', RegexIterator::ALL_MATCHES);
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(1) {
66: [0]=>
67: string(3) "1,2"
68: }
69: [1]=>
70: array(1) {
71: [0]=>
72: string(1) "1"
73: }
74: [2]=>
75: array(1) {
76: [0]=>
77: string(1) "2"
78: }
79: }
80: bool(true)
81: int(2)
82: array(3) {
83: [0]=>
84: array(1) {
85: [0]=>
86: string(3) "1,2"
87: }
88: [1]=>
89: array(1) {
90: [0]=>
91: string(1) "1"
92: }
93: [2]=>
94: array(1) {
95: [0]=>
96: string(1) "2"
97: }
98: }
99: bool(true)
100: int(3)
101: array(3) {
102: [0]=>
103: array(0) {
104: }
105: [1]=>
106: array(0) {
107: }
108: [2]=>
109: array(0) {
110: }
111: }
112: bool(true)
113: int(4)
114: array(3) {
115: [0]=>
116: array(0) {
117: }
118: [1]=>
119: array(0) {
120: }
121: [2]=>
122: array(0) {
123: }
124: }
1.1.1.2 ! misho 125:
! 126: Notice: Array to string conversion in %siterator_052.php on line %d
1.1 misho 127: bool(true)
128: int(5)
129: array(3) {
130: [0]=>
131: array(0) {
132: }
133: [1]=>
134: array(0) {
135: }
136: [2]=>
137: array(0) {
138: }
139: }
140: bool(true)
141: int(6)
142: array(3) {
143: [0]=>
144: array(0) {
145: }
146: [1]=>
147: array(0) {
148: }
149: [2]=>
150: array(0) {
151: }
152: }
153: bool(true)
154: int(7)
155: array(3) {
156: [0]=>
157: array(0) {
158: }
159: [1]=>
160: array(0) {
161: }
162: [2]=>
163: array(0) {
164: }
165: }
166: bool(true)
167: int(8)
168: array(3) {
169: [0]=>
170: array(0) {
171: }
172: [1]=>
173: array(0) {
174: }
175: [2]=>
176: array(0) {
177: }
178: }
179: bool(true)
180: int(0)
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(1)
195: array(2) {
196: [0]=>
197: array(2) {
198: [0]=>
199: string(1) "1"
200: [1]=>
201: string(1) "2"
202: }
203: [1]=>
204: array(2) {
205: [0]=>
206: string(1) "1"
207: [1]=>
208: string(1) "2"
209: }
210: }
211: bool(true)
212: int(2)
213: array(2) {
214: [0]=>
215: array(3) {
216: [0]=>
217: string(1) "1"
218: [1]=>
219: string(1) "2"
220: [2]=>
221: string(1) "3"
222: }
223: [1]=>
224: array(3) {
225: [0]=>
226: string(1) "1"
227: [1]=>
228: string(1) "2"
229: [2]=>
230: string(1) "3"
231: }
232: }
233: bool(true)
234: int(3)
235: array(2) {
236: [0]=>
237: array(0) {
238: }
239: [1]=>
240: array(0) {
241: }
242: }
243: bool(true)
244: int(4)
245: array(2) {
246: [0]=>
247: array(0) {
248: }
249: [1]=>
250: array(0) {
251: }
252: }
1.1.1.2 ! misho 253:
! 254: Notice: Array to string conversion in %siterator_052.php on line %d
1.1 misho 255: bool(true)
256: int(5)
257: array(2) {
258: [0]=>
259: array(0) {
260: }
261: [1]=>
262: array(0) {
263: }
264: }
265: bool(true)
266: int(6)
267: array(2) {
268: [0]=>
269: array(0) {
270: }
271: [1]=>
272: array(0) {
273: }
274: }
275: bool(true)
276: int(7)
277: array(2) {
278: [0]=>
279: array(0) {
280: }
281: [1]=>
282: array(0) {
283: }
284: }
285: bool(true)
286: int(8)
287: array(2) {
288: [0]=>
289: array(0) {
290: }
291: [1]=>
292: array(0) {
293: }
294: }
295: object(ArrayIterator)#%d (1) {
296: ["storage":"ArrayIterator":private]=>
297: array(9) {
298: [0]=>
299: %s(1) "1"
300: [1]=>
301: %s(3) "1,2"
302: [2]=>
303: %s(5) "1,2,3"
304: [3]=>
305: %s(0) ""
306: [4]=>
307: NULL
308: [5]=>
309: array(0) {
310: }
311: [6]=>
312: %s(6) "FooBar"
313: [7]=>
314: %s(1) ","
315: [8]=>
316: %s(2) ",,"
317: }
318: }
319: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>