>  기사  >  백엔드 개발  >  PHP 全局变量在用户自定义函数内部不足见

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

WBOY
WBOY원래의
2016-06-13 13:08:25994검색

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.