PHP范围问题

时间:2018-06-19 02:05:37

标签: php scope

当我声明一个变量,例如值为0的$ a,然后在一个函数中我改变该值并重新声明$ a我无法访问函数外的那个新值。

$a = 0;

function func(){
  for ($i = 0; $i<=10; $i++){
    $a += 1;
  }
  var_dump($a);
  echo '<br />';
}

func();
var_dump($a);

例如,在第一个var_dump(函数内部的一个)中,结果为11,在第二个(函数外部),值为0;

2 个答案:

答案 0 :(得分:1)

变量的范围是它所在函数的局部变量,除非您将其定义为此变量。例如,您需要在函数中将 $ a 定义为全局。

Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
    http://8c1eb91f0492:8888/?token=7671a7abe557349c8d8ad1cbf207702451925efd2c27c84e&token=7671a7abe557349c8d8ad1cbf207702451925efd2c27c84e

答案 1 :(得分:0)

您需要使用global

<?php
$a = 0;

function func() {
    global $a;
    for ($i = 0; $i<=10; $i++) {
         $a += 1;
    }

    var_dump($a);
    echo '<br />';
}

func();
var_dump($a);