函数总是在回声期间首先执行?

用户4774980

为什么我可以通过调用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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Verilog 总是在启动期间阻止执行

总是在重载的构造函数之后执行一些代码

“最终”是否总是在Python中执行?

凝视总是在PointExit之后执行

首先执行回调函数

dispatch_sync()总是在主线程中执行块

如果出于某种原因,Python else 总是在执行

新任务是否总是在ThreadPool线程上执行?

为什么这个项目总是在Makefile中执行?

在python中,总是在方法中首先调用super()。是否存在以后应调用的情况?

为什么称为DefaultStringValue的属性始终总是在IntelliSense中首先出现?

如何让vim总是在任何拉动之后调用函数

为什么总是在JavaScript中声明函数?

为什么构造函数总是在堆栈上调用?

变量总是在函数中重置为默认值

JFrame总是在右边

strsplit并不总是在'?

python play again函数首先执行,如果

首先完成后执行jQuery函数

有什么方法可以保证代码总是在主线程上执行?

Spring JPA保存并非总是在数据库上执行

文档头中的脚本是否总是在DOMContentLoaded触发之前执行?

Firebase Android:总是在主UI线程中执行onDataChange()事件?

发生异常时,@ After注释是否总是在Selenium中执行?

代码总是在响应发送到浏览器后执行

可执行文件是否总是在MacOS上打开终端窗口?

Bash脚本的异常行为:首先执行函数,然后执行别名

如何不总是在运行函数中传递“ $ http.defaults.headers.common.Authorization”?

为什么总是在Android中启动JobService()中的onCreate()函数?