需要帮助理解! PHP 函数
Nee Help In Understanding! PHP Functions
我是php的新手,无法理解下面的逻辑。
<?php
$user = "abc";
function test(){
$user = "def";
echo $user;
}
function test_2(){
$user = "xyz";
return $user;
}
echo $user;
echo "<br />";
test();
echo "<br />";
echo test_2();
echo "<br />";
echo $user;
?>
当"echo-ing" $user 时,函数test_2() 覆盖$user 的值并打印"xyz"。但是当我简单地 echo $user [在 echo test_2() ] 之后,它会打印 "abc";我的意思是它应该再次打印 "xyz" 作为对象 $user 存储值 "xyz"。你能解释一下这里的功能机制是如何工作的吗?
这个练习表明变量 $user 被限制在它的范围内。
例如,在 test() 的范围内,变量 $user 是 "def",而在 test_2() 的范围内,变量 $user 是 "xyz".
用非常基本的话来说 - 原因是因为您的函数没有返回任何值。
这就是为什么你的变量 $user 没有改变并且它保持与开始时定义的值相同的原因。
函数是独立的操作,它们在自己的环境中运行
希望对您有所帮助
Php 是一种松散耦合的语言。这意味着您不需要声明数据类型,并且在运行时您可以更改实例的值。第一个 $user 将打印为 "abc"。一旦你调用了 test() 函数,它就会将值 "def" 赋值给 $user。因此你 returned 了 $user 所以 test() 将给出结果 "def"。当您调用 test2() 函数时,上述步骤将继续,并且它将 return 的值设为 "xyz"。
我是php的新手,无法理解下面的逻辑。
<?php
$user = "abc";
function test(){
$user = "def";
echo $user;
}
function test_2(){
$user = "xyz";
return $user;
}
echo $user;
echo "<br />";
test();
echo "<br />";
echo test_2();
echo "<br />";
echo $user;
?>
当"echo-ing" $user 时,函数test_2() 覆盖$user 的值并打印"xyz"。但是当我简单地 echo $user [在 echo test_2() ] 之后,它会打印 "abc";我的意思是它应该再次打印 "xyz" 作为对象 $user 存储值 "xyz"。你能解释一下这里的功能机制是如何工作的吗?
这个练习表明变量 $user 被限制在它的范围内。 例如,在 test() 的范围内,变量 $user 是 "def",而在 test_2() 的范围内,变量 $user 是 "xyz".
用非常基本的话来说 - 原因是因为您的函数没有返回任何值。 这就是为什么你的变量 $user 没有改变并且它保持与开始时定义的值相同的原因。 函数是独立的操作,它们在自己的环境中运行
希望对您有所帮助
Php 是一种松散耦合的语言。这意味着您不需要声明数据类型,并且在运行时您可以更改实例的值。第一个 $user 将打印为 "abc"。一旦你调用了 test() 函数,它就会将值 "def" 赋值给 $user。因此你 returned 了 $user 所以 test() 将给出结果 "def"。当您调用 test2() 函数时,上述步骤将继续,并且它将 return 的值设为 "xyz"。