PHP基础-----自定义变量及作用范围

       PHP的变量名称必须由一个美元符号加上其它的字符组成,并区变量名称是区分大小写的。变量名必须遵循PHP的命名规则,PHP的变量名必须以字母或下划线或中文字符开始,变量不用声明就可以使用。在程序中请不要用全局变量做为你程序中的变量来使用。

1)、变量以传值方式进行赋值:

  <?php

    $Var="我";

    $var=$Var;

    $Var=123;

    echo "\$Var=" .$Var."  \$var=".$var;

2)、变量以传递变量(引用)方式进行赋值(引用只能针对变量):&

  <?php

    $Var="我";

    $var=& $Var;

    $Var=123;

    echo "\$Var=" .$Var."  \$var=".$var;

?>

<?php

       $foo=’Bob’;

       $bar=&$foo;

       $bar=”My name is $bar”;

       echo $foo;

       echo $bar;

?>

<?php

       $foo=25;

       $bar=&$foo;

       $bar=&(24 * 7); //错误

       function test()

       {

           return 25;

       }

       $bar=&test();  //错误

?>

3)、检查变量是否设置的函数isset:

格式:isset(变量)

功能:如果变量已经设置,则返回true,否则返回false

  <?php

    $Var="我";

    echo isset($Var);

    echo isset($var);

?>

4)、销毁变量的函数unset:

格式:unset(变量1,变量2,…变量n)

功能:用户销毁即删除已经赋值的变量

  <?php

    $Var="我";

    unset($Var);

    $var=123;

    echo "\$Var=" .$Var."  \$var=".$var;

?>

5)、检查变量是否为空的函数empty:

格式:empty(变量)

功能:若变量值为空值、零值或假值(0,”0”,NULL,false,””),返回true,否则返回false

  <?php

    $var=0;

    if (empty($var)) {  
       echo ‘$var值为空';
    }
  ?>

  • 变量的作用范围

1、PHP脚本中声明一个变量,则该变量可以应用于整个文件(包括require或include所包含的文件中),但函数内部除外。

   例:test.php:

    <?php

       $a=12;

       include(“b.php”);

    ?>

    b.php:

    <?php

       echo “\$a=” . $a;

   ?>

2、反之被包含文件中声明的变量,可以应用于包含文件中。

   例:test.php:

    <?php

       include(“b.php”);

       echo “\$b=” . $b;

    ?>

    b.php:

    <?php

        $b=56;

   ?>

3、在函数中声明的变量一般在函数结束后就会消失,不能在函数外部使用;在函数外声明的变量一般不能在函数内使用。

   例:test.php:

    <?php

       $a=1;  //全局范围页面级变量

       function Test()

       {

          $b=12;

          echo “\$a=” . $a;

       }

       echo “\$b=” . $b;

    ?>

  

4、特殊情况:通过global声明变量为全局变量,使函数外声明的变量可以在函数内使用。

   例:test.php:

    <?php

       $a=1;  //全局范围页面级变量

       function Test()

       {

          $a=5;

          echo “<br>使用global之前\$a是函数内局部变量,其值为\$a=” . $a;

          global  $a;

          echo “<br>使用global之后\$a已经是函数外全局变量,其值为\$a=” . $a;

          $a=12;

          echo “<br>使用global并修改\$a的值之后,其值为\$a=” . $a;

       }

       Test();

       echo “<br>函数调用结束后\$a全局变量的值已经被函数修改,其值为\$a=” . $a;

    ?>

5、特殊情况:通过$GLOBALS[“全局变量名”]在函数内部使用全局变量。

   例:test.php:

    <?php

       $a=1;  //全局范围页面级变量

       function Test()

       {

          $a=5;

          echo "<br>\$a是函数内局部变量,其值为\$a=" . $a;

          echo "<br>\$GLOBALS[\"a\"]是函数外全局变量\$a,其值为\$GLOBALS[\"a\"]=" . $GLOBALS["a"];

          $GLOBALS["a"]=12;

          echo "<br>修改\$GLOBALS[\"a\"]的值之后,其值为\$GLOBALS[\"a\"]=" . $GLOBALS["a"];

       }

       Test();

       echo "<br>函数调用结束后\$a全局变量的值已经被函数修改,其值为\$a=" . $a;   

    ?>

猜你喜欢

转载自768992698.iteye.com/blog/2317986