私の関数は、外部変数(親関数からの変数)にアクセスする必要があります。ただし、global
キーワードを使用すると、範囲が広すぎます。私はそれを制限する必要があります。このコードを「レベル1」の代わりに「レベル2」を吐き出すにはどうすればよいですか?私はクラスを作る必要がありますか?親関数のスコープから変数にアクセスする方法は?
<?php
$a = "Level 1";
function first() {
$a = "Level 2";
function second() {
global $a;
echo $a.'<br />';
}
second();
}
first();
//outputs 'Level 1'
?>
Aha!教育的な答えに感謝します。それは多くの意味があります、あなたはそれをうまく説明しました。私は関数のパラメータのルートを試してみましょう。 –
でも防御的に 'if(function_exists( 'second')){{'} – WraithKenny