summaryrefslogtreecommitdiff
path: root/Zend/tests/closure_048.phpt
blob: 47781641a84582020305dd29965f4eff284229d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
--TEST--
Closure 048: Use in preg_replace_callback() using variables by reference
--FILE--
<?php

function replace_variables($text, $params) {

	$c = function($matches) use (&$params, &$text) {
		$text = preg_replace( '/(\?)/', array_shift( $params ), $text, 1 );
	};

	preg_replace_callback( '/(\?)/', $c, $text );

	return $text;
}

echo replace_variables('a=?', array('0')) . "\n";
echo replace_variables('a=?, b=?', array('0', '1')) . "\n";
echo replace_variables('a=?, b=?, c=?', array('0', '1', '2')) . "\n";
echo "Done\n";
?>
--EXPECT--
a=0
a=0, b=1
a=0, b=1, c=2
Done