PHP新手在这里.我不知道这里发生了什么.
function doEcho(){
echo ' Done';
}
echo 'Status ='. doEcho();
Run Code Online (Sandbox Code Playgroud)
上面的代码将返回
DoneStatus =
Run Code Online (Sandbox Code Playgroud)
为什么"完成"在"状态"之前出现?
谢谢.
你的函数doEcho实际上并没有返回任何东西 - 它只是直接打印.那么会发生什么:
您的行echo 'Status ='. doEcho();调用doEcho函数以组合"Status ="和doEcho函数返回的任何内容.
doEcho函数打印"完成",然后不返回任何内容.
"Status ="与没有任何内容相结合,仍为"Status =",然后进行回显.
这就是为什么产生的打印是"DoneStatus =".如果希望函数返回要组合的文本,则需要执行此操作return ' Done';.