为什么我可以通过调用echo
一次以获取输出代码来编写此代码hello Sam
?
这是PHP代码:
<?php
function moo() {
echo 'Sam';
}
echo 'hello ' . moo();
?>
输出为Samhello
,解析为R to L
。我可以通过echo
在2条单独的行上编写来实现所需的输出:
<?php
function moo() {
echo 'Sam';
}
echo 'hello ';
echo moo();
?>
但是有一种方法可以做到这一点吗?
不用具有该函数echo
,只需让它返回要打印的字符串即可。然后让调用者决定如何处理它-在这种情况下,echo
它是:
function moo() {
return 'Sam';
}
echo 'hello ' . moo();
编辑:添加说明(不是答案的作者)而不是发表评论。
“返回”和内联concat之间的区别在于,要使初始函数(echo语句)起作用,它需要在输出初始echo语句之前运行该函数(在您的代码中为moo())。
这与以下示例没有区别:
echo number_format(get_something_from_database_which_is_a_number());
您希望函数get_something_from_database_which_is_a_number()
先返回值number_format()
,然后再对其进行格式化。
如果使用return
语句,则函数本身将运行,但是随后return
您的字符串将返回到初始函数调用(在您的情况下为echo)语句。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句