closure_047.phpt   [plain text]


--TEST--
Closure 047: Use in preg_replace_callback() using variables by reference
--FILE--
<?php

function replace_variables($text, $params) {
	
	preg_replace_callback( '/(\?)/', function($matches) use (&$params, &$text) {
	
		$text = preg_replace( '/(\?)/', array_shift( $params ), $text, 1 );
	
	}, $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