PHP グローバル変数はユーザー定義関数内では表示されません
グローバル変数は関数の外側で定義されます。そのスコープは PHP ファイル全体ですが、関数内で表示するには、global で宣言する必要があります。
?
<?php $val1 = 1; $val2 = 2; function test() { echo "start\n"; echo "val1: ".$val1."\n"; // 不可见 echo "val2: ".$val2."\n"; // 不可见 global $val2; //global声明了$val2, 使其可见 echo "声明:global val2 以后\n"; echo "val2: ".$val2."\n"; //$val2 可见了 $val2 = 100; echo "end\n"; $val1 = 100; //只是局部变量 } test(); echo "调用了test()以后:\nval2 = ".$val2."\n"; //$val2被test()函数改变了 echo "val1 = ".$val1."\n"; //没有被test()改变 ?>
?
結果:
start
val1:
val2:
ステートメント: global val2 Later
val2: 2
end
test() 呼び出し後:
val2 = 100
val1 = 1