<?php
echo test();
$a = "123";
function test(){
global $b;
b =$a;
return $b;
}
?>
別のフォームから値を取得したいので、関数を設定したのですが、test() で値を表示できないのはなぜですか?
$a
はスコープ外であるため、関数呼び出しの後に宣言されており、構文エラーがあります。が必要global $a
です。
$a = "123";
echo test( );
function test( ) {
global $a;
$b = $a;
return $b;
}
結果
123
変数のスコープを見てみましょう
まず、次のように変数を設定することはできません。b = $a
適切な PHP 構文を使用する必要があるため、次のようになります$b = $a
。
第二に、「njk」は正しく、変数はスコープ外であるためグローバルとして宣言する必要があるため、使用global $a
は機能します。
最後に、関数を呼び出す前に変数を事前に定義した場合にのみ機能するため、次のようになります。
$a = 123;
function test() {
global $a;
$b = $a;
return $b;
}
echo test();
次の結果が返されます。
123
それが役立つことを願っています。