function A()
{
$x = 1;
// далее тут работаем с $x
B(); // вызвали B() без явной передачи $x
// теперь работаем со значением $x, измененным функцией B
...
}
{
$x = 1;
// далее тут работаем с $x
B(); // вызвали B() без явной передачи $x
// теперь работаем со значением $x, измененным функцией B
...
}
Передать $x в B напрямую нельзя, потому что B - это callback-функция для preg_replace_callback() и ничего там не передашь, кроме массива совпадений.
Можно ли это как-то сделать?