xref: /PHP-7.4/ext/spl/tests/bug50579.phpt (revision 782352c5)
1--TEST--
2Bug #50579 (RegexIterator::REPLACE doesn't work)
3--FILE--
4<?php
5
6class foo extends ArrayIterator {
7	public function __construct( ) {
8		parent::__construct(array(
9		'test1'=>'test888',
10		'test2'=>'what?',
11		'test3'=>'test999'));
12	}
13}
14$h = new foo;
15$i = new RegexIterator($h, '/^test(.*)/', RegexIterator::REPLACE);
16$i->replacement = '[$0]';
17foreach ($i as $name=>$value) {
18	echo $name . '=>' . $value . "\n";
19}
20
21$i->replacement = '$1';
22foreach ($i as $name=>$value) {
23	echo $name . '=>' . $value . "\n";
24}
25
26$h = new foo;
27$i = new RegexIterator($h, '/^test(.*)/', RegexIterator::REPLACE);
28$i->replacement = '[$1]';
29foreach ($i as $name=>$value) {
30	echo $name . '=>' . $value . "\n";
31}
32
33?>
34--EXPECT--
35test1=>[test888]
36test3=>[test999]
37test1=>888
38test3=>999
39test1=>[888]
40test3=>[999]
41