为什么我可以通过一次调用echo
来获取此代码作为hello Sam
来编写此代码?
这是PHP代码:
<?php
function moo() {
echo 'Sam';
}
echo 'hello ' . moo();
?>
输出为Samhello
解析为R to L
。我可以通过在2条单独的行上写echo
来实现所需的输出:
<?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)语句。
有人可以解释为什么这在我的服务器上输出为true吗?date_default_timezone_set('Europe/Bucharest'); var_dump( strtotime('29.03.2015 03:00', time()) === strtotime('29.03.2015 04:00…
PHP-全局变量的性能和内存问题 - php假设情况:我在php中运行一个复杂的站点,并且我使用了很多全局变量。我可以将变量存储在现有的全局范围内,例如$_REQUEST['userInfo'],$_REQUEST['foo']和$_REQUEST['bar']等,然后将许多不同的内容放入请求范围内(这将是适当的用法,因为这些数据指的是要求自…
php-casperjs获取内部文本 - php我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…
PHP-将日期插入日期时间字段 - php我已在数据库中使用datetime字段存储日期,使用PHP将“今天的日期”插入该字段的正确方法是什么?干杯, 参考方案 我认为您可以使用php date()函数
php ziparchive类源代码 - phpImprove this question 我如何获取ziparchive类本身的源代码。 参考方案 假设您在谈论PHP ZipArchive class:下载PHP source code并查找适当的文件。如果您希望源代码是PHP代码,您可能会感到失望,因为源代码是用C语言编写的。或者,也可以在PHP Github Development Reposito…