関数自体内の関数の外で定義された変数にアクセスできる機能は、多くの関数で共通の機能です。プログラミング言語。ただし、PHP では、以下のコード スニペットは期待どおりに実行できません:
<code class="php">$data = 'My data'; function menugen() { echo "[" . $data . "]"; } menugen();</code>
このコードは、'[My data]' の代わりに空の角かっこ '[]' のセットを出力します。これを修正するには、PHP では関数内でグローバル変数を明示的に宣言する必要があります。次の行を追加すると、問題が解決します:
<code class="php">function menugen() { global $data; echo "[" . $data . "]"; }</code>
あるいは、$GLOBALS['data'] 経由でグローバル変数にアクセスすることもできます。
注意: を使用するときグローバル変数を使用することは可能ですが、データをパラメーターとして渡すことを優先するため、一般的には推奨されません。このアプローチにより、コードの明瞭さが維持され、潜在的な競合やグローバル変数の意図しない変更が回避されます。上記の例では、修正されたコードは次のようになります:
<code class="php">$data = 'My data'; function menugen($data) { echo "[" . $data . "]"; } menugen($data);</code>
以上がPHP 関数はスコープ外で定義された変数にアクセスできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。