<?php
function dosomething(){
echo "do\n";
}
$temp="test".dosomething();
echo $temp;
?>
预期结果:testdo
但实际结果是:做
测试%
我知道如何更改代码以获得预期的结果。但我怀疑的是为什么代码会打印出这样的结果。有人可以解释一下吗?谢谢!
<?php
function dosomething(){
echo "do\n";
}
$temp="test".dosomething();
echo $temp;
?>
预期结果:testdo
但实际结果是:做
测试%
我知道如何更改代码以获得预期的结果。但我怀疑的是为什么代码会打印出这样的结果。有人可以解释一下吗?谢谢!
dosomething
在屏幕上回响。由于首先运行,因此会打印“do\n”。
dosomething
也不返回任何东西,所以第二个回声相当于echo "test";
为了使用调用的结果,您应该返回它:
function dosomething(){
return "do\n";
}
它将按照您的预期运行。
澄清。为了弄清楚什么$temp
是必须首先运行的函数,它首先打印出“do\n”。
使用回报。
function dosomething(){
return "do\n"; }
使用 return 语句而不是 echo
function dosomething(){
return "do\n";
}
我不知道为什么人们投票反对。他们的答案是正确的。
试试这个:
在调用函数中使用 return。这样做你会得到调用函数的字符串。所以函数被字符串替换,然后 2 个字符串将 con cat。
-
谢谢