php 作用域

来源:互联网 发布:大数据中学生阅读答案 编辑:程序博客网 时间:2024/06/01 12:53

PHP 有三种不同的变量作用域:

  • local(局部)
  • global(全局)
  • static(静态)

Local 和 Global 作用域

函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。

函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。



例子:

1. 局部变量,全局变量  普通情况 都需要在相应的环境下才可以。
<?php
    $num = 12;
    function test(){
        $num2 = 1;
        echo "num:  $num !"."---";      // 报错
        echo "num2: $num2 !"."--";      // 1
    } 
    test();
    echo "<br/>";
    echo "num:  $num !";                // 12
    echo "num2: $num2 !"."--";          // 报错
?>

全局,局部的变量只有在相应的范围内才能输出。
即便是全局变量,局部范围 还是 找不到这个值。


2. 全局变量   --  局部输出:  global, $GLOBALS['']
<?php
    $x = 5;
    $y  = 10;
    function func(){
       global $x,$y,$z;
       $z = $x+$y;
    }
    func();
    echo $z;   //  15
?>
--------------------------------------------------------------
<?php
    $a = 23;
    $b = 10;
    function abc(){
        $GLOBALS['c'] = $GLOBALS['a'] + $GLOBALS['b'];
    }
    abc();
    echo $c;   // 33
?>
 
3.static  保存局部变量. 一般局部变量使用完就会被删除,下次再重新定义赋值。
<?php
    function jubu(){
        static $a = 1;
        $aa = 10;
        echo $a++.' --- ';
        echo $aa++.' / ';
    }
    jubu();    // 1 10
    jubu();    // 2 10
    jubu();    // 3 10
    jubu();    // 4 10
    jubu();    // 5 10
?>
















0 0
原创粉丝点击