我正在测试变量的功能.. $ age = 30我把变量放在函数体外:输出是可以的,但是当我把变量之前在回声函数..和echo ..throw错误之后..为什么?我想了解错误机制。 第一个例子:静态变量php测试功能不明白错误机制
<?php
function birthday(){
static $age = 0;
$age = $age + 1;
$age = 30;
echo "Birthday number $age <br/>";
}
birthday();
birthday();
birthday();
echo "Age: $age<br/>";
?>
Output:Birthday number 30
Birthday number 30
Birthday number 30
Notice: Undefined variable: age in C:\xampp\htdocs\series\exercitii_php\variabila_statica.php on line 18
Age:
Why?
second example:
<?php
function birthday(){
static $age = 0;
$age = $age + 1;
echo "Birthday number $age <br/>";
$age = 30;
}
birthday();
birthday();
birthday();
echo "Age: $age<br/>";
?>
Output: Birthday number 1
Birthday number 31
Birthday number 31
Notice: Undefined variable: age in C:\xampp\htdocs\series\exercitii_php\variabila_statica.php on line 18
Age:
请给我你的解释,所以我能理解。
因为你'$ age'是在你的函数的范围。这是一堂课还是什么? – vaso123 2014-10-29 17:20:12
这是因为您正在调用变量$ age超出此函数。 – 2014-10-29 17:23:00