Heim  >  Artikel  >  Backend-Entwicklung  >  PHP 全局变量在用户自定义函数内部不足见

PHP 全局变量在用户自定义函数内部不足见

WBOY
WBOYOriginal
2016-06-13 13:08:25956Durchsuche

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 以后
val2: 2
end


调用了test()以后:
val2 = 100
val1 = 1

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn