PHPは他の関数内の関数内のグローバル変数にアクセスします

ムーンベイダー

次のようなファイルa.phpがあります。

function func_1() {
  inlude_once(b.php);
  $somevar = 'def';
  func_2($somevar);
}

そして、b.phpのようなそのルックスを

$some_global_var = 'abc';

function func_2($var) {
  global $some_global_var;
  echo $some_global_var.$var;
}

そして、何らかの理由で結果としてdefしか得られないのに、なぜ func_2 に $some_global_var が表示されないのですか?

マカビティ

のスコープを忘れたからですfunc_1したがって、定義を含めると、コードが PHP にどのように表示されますか

function func_1() {
   $some_global_var = 'abc'; // <- this is inside the scope of the parent function!

    function func_2($var) {
      global $some_global_var;
      echo $some_global_var.$var;
    }
  $somevar = 'def';
  func_2($somevar);
}

あなたはそれを内部で やっていますfunc_1したがって、変数がグローバル スコープで実際に使用できることはありませんでした。$some_global_var = 'abc';外部で定義した場合、それはグローバル スコープ内にあります。

代わりに、これを引数として挿入する必要があります。グローバルは悪い習慣です

function func_1() {
   $some_global_var = 'abc'; 

    function func_2($var, $var2) {
      echo $var2 . $var;
    }
  $somevar = 'def';
  func_2($somevar, $some_global_var);
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PHP-クラス内のグローバル変数-内部関数内でアクセスされます

分類Dev

関数内のグローバル変数にアクセスする方法

分類Dev

関数内のグローバル変数にアクセスする

分類Dev

コールバック関数内のローカル変数にアクセスします

分類Dev

関数内でグローバル変数にアクセスできないのはなぜですか?

分類Dev

クラスの関数内からグローバル変数にアクセスする方法

分類Dev

AngularJSの関数内の変数にアクセスします

分類Dev

関数内のグローバル変数は外部からアクセスできません

分類Dev

Pythonは、関数内の関数に対してのみグローバル変数を共有します

分類Dev

グローバル関数内の環境変数にアクセスする-SwiftUI + CoreData

分類Dev

PHPはグローバル変数をクラス内の関数にインポートできません

分類Dev

グローバル変数を使用せずに他の関数から変数にアクセスする

分類Dev

phpは、クラス内の他の関数に1つの関数変数を取得します

分類Dev

Tkのパス名を使用して関数内のグローバルラベルにアクセスする

分類Dev

Pythonは関数内のグローバル変数を改訂します

分類Dev

コールバック:関数は他の関数にどのようにアクセスしますか?

分類Dev

Python関数内からグローバル変数にアクセスする

分類Dev

フィルタ関数内の変数にアクセスします

分類Dev

ko.computed内のローカル関数にアクセスします

分類Dev

クラス関数内のJavascriptグローバル変数

分類Dev

関数php内のグローバル変数参照の変更

分類Dev

javascriptの関数内にある関数内の変数にアクセスしますか?

分類Dev

javascriptの関数内にある関数内の変数にアクセスしますか?

分類Dev

Pythonクロージャ:関数内で定義された関数は、1レベル上の変数にアクセスできますか?

分類Dev

クラス内の関数内のPythonグローバル変数

分類Dev

別の関数の内部forループ内の変数へのアクセスを関数に与える方法は?

分類Dev

「グローバル」を使用せずに関数の外部で関数変数にアクセスする

分類Dev

「グローバル」を使用せずに関数の外部で関数変数にアクセスする

分類Dev

関数内、別の関数内にあるPython変数にアクセスします

Related 関連記事

  1. 1

    PHP-クラス内のグローバル変数-内部関数内でアクセスされます

  2. 2

    関数内のグローバル変数にアクセスする方法

  3. 3

    関数内のグローバル変数にアクセスする

  4. 4

    コールバック関数内のローカル変数にアクセスします

  5. 5

    関数内でグローバル変数にアクセスできないのはなぜですか?

  6. 6

    クラスの関数内からグローバル変数にアクセスする方法

  7. 7

    AngularJSの関数内の変数にアクセスします

  8. 8

    関数内のグローバル変数は外部からアクセスできません

  9. 9

    Pythonは、関数内の関数に対してのみグローバル変数を共有します

  10. 10

    グローバル関数内の環境変数にアクセスする-SwiftUI + CoreData

  11. 11

    PHPはグローバル変数をクラス内の関数にインポートできません

  12. 12

    グローバル変数を使用せずに他の関数から変数にアクセスする

  13. 13

    phpは、クラス内の他の関数に1つの関数変数を取得します

  14. 14

    Tkのパス名を使用して関数内のグローバルラベルにアクセスする

  15. 15

    Pythonは関数内のグローバル変数を改訂します

  16. 16

    コールバック:関数は他の関数にどのようにアクセスしますか?

  17. 17

    Python関数内からグローバル変数にアクセスする

  18. 18

    フィルタ関数内の変数にアクセスします

  19. 19

    ko.computed内のローカル関数にアクセスします

  20. 20

    クラス関数内のJavascriptグローバル変数

  21. 21

    関数php内のグローバル変数参照の変更

  22. 22

    javascriptの関数内にある関数内の変数にアクセスしますか?

  23. 23

    javascriptの関数内にある関数内の変数にアクセスしますか?

  24. 24

    Pythonクロージャ:関数内で定義された関数は、1レベル上の変数にアクセスできますか?

  25. 25

    クラス内の関数内のPythonグローバル変数

  26. 26

    別の関数の内部forループ内の変数へのアクセスを関数に与える方法は?

  27. 27

    「グローバル」を使用せずに関数の外部で関数変数にアクセスする

  28. 28

    「グローバル」を使用せずに関数の外部で関数変数にアクセスする

  29. 29

    関数内、別の関数内にあるPython変数にアクセスします

ホットタグ

アーカイブ