PHP Manual
/
变量

PHP中的局部变量

22. 08. 2019

本地变量只在**function**或**method**(在面向对象编程中)的主体内有效。

如果我们是在常规脚本的背景下工作,一切都会如期发生。

$x = 5;
echo $x; //打印出5

但当我们定义一个自定义函数时,行为就会发生轻微变化。

$x = 5;
function mojeFunkce(): int
{
$x = 3;
echo $x; //打印出3
}
echo $x; //打印出5

原因是$x变量只存在于当前函数或方法的上下文中。这种行为是故意的。

如果我们想从周围的代码中传递一个值给一个函数,我们必须用必要的参数来调用它。

echo mojeFunkce(5); //打印出6
function mojeFunkce(int $x): int
{
return $x + 1;
}

数值是用参数输入到函数中的。如果你想在参数之外向函数传递额外的变量,你可以使用global variables,但这并不是一个好主意。

在对一个较大的应用程序进行编程时,使用局部变量会产生巨大的差异。如果我们不区分变量在不同语境下的有效性,就不可能保证一个变量不会在我们不指望它的地方被覆盖(这就是为什么全局变量是邪恶的)。

$x = 5;
$y = 3;
function soucet(int $x, int $y): int
{
return $x + $y;
}
echo $x; //打印出5
echo soucet($x, $y); //打印出8

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.
2.
Status:
All systems normal.
2024