0
<?php
echo test(); 
$a = "123";

function test(){
global $b;
b =$a;
return $b;
}
?>

別のフォームから値を取得したいので、関数を設定したのですが、test() で値を表示できないのはなぜですか?

4

2 に答える 2

3

$aはスコープ外であるため、関数呼び出しの後に宣言されており、構文エラーがあります。が必要global $aです。

$a = "123";
echo test( ); 

function test( ) {
    global $a;
    $b = $a;
    return $b;
}

結果

123

変数のスコープを見てみましょう

于 2013-01-08T15:15:25.663 に答える
0

まず、次のように変数を設定することはできません。b = $a適切な PHP 構文を使用する必要があるため、次のようになります$b = $a

第二に、「njk」は正しく、変数はスコープ外であるためグローバルとして宣言する必要があるため、使用global $aは機能します。

最後に、関数を呼び出す前に変数を事前に定義した場合にのみ機能するため、次のようになります。

$a = 123;

function test() {

  global $a;

  $b = $a;

  return $b;

}

echo test();

次の結果が返されます。

123

それが役立つことを願っています。

于 2013-01-08T15:21:04.290 に答える