php 作用域

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
?>
















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值