Просто для примера, если я понимаю, что вы пытаетесь сделать, вы можете использовать замыкание (PHP 5.3+), так как " Замыкания также могут наследовать переменные из родительская область действия"с ключевым словом use
.
$a = "Level 1";
function first() {
$a = "Level 2";
$func = function () use ($a) {
echo $a.'<br />';
};
$func();
}
first();
// prints 'Level 2<br />'
Замыкания чаще всего используются для функций обратного вызова. Однако это может быть не лучший сценарий для его использования. Как и предполагали другие, то, что вы можете что-то сделать, не означает, что это лучшая идея.