PHP变量

为何输出10,而非100?全局变量和局部变量问题

输出10

输出100

输出1、b

name = 'b';
}
class User{
    public $name = 'a';
}

$param1 = array(1,2,3);
$param2 = new User();

a($param1);
b($param2);

echo $param1[0]; // 1
echo $param2->name; // b

输出3、b

name = 'b';
}
class User{
    public $name = 'a';
}

$param1 = array(1,2,3);
$param2 = new User();

a($param1);
b($param2);

echo $param1[0]; // 3
echo $param2->name; // b

PHP变量

PHP变量规则

变量以 $ 符号开头,其后是变量的名称
变量名称必须以字母或下划线开头
变量名称不能以数字开头
变量名称只能包含字母数字字符和下划线(A-z、0-9 以及 _)
变量名称对大小写敏感($y 与 $Y 是两个不同的变量)

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

  • local(局部)
函数内部声明的变量拥有 LOCAL 作用域,只能在函数内部进行访问。
  • global(全局)
函数之外声明的变量拥有 Global 作用域,只能在函数以外进行访问。
  • static(静态)
    PHP global 关键词
global 关键词用于访问函数内的全局变量。
要做到这一点,请在(函数内部)变量前面使用 global 关键词

PHP static 关键词

通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。
要完成这一点,请在您首次声明变量时使用 static 关键词

你可能感兴趣的:(PHP变量)