是否可以创建一个既可以显示又可以返回的PHP函数?
是否可以创建一个既可以显示又可以返回的PHP函数(根据我的调用方式,每次只能返回一个)?请看这个例子 例: 如果我调用它是否可以创建一个既可以显示又可以返回的PHP函数?,php,function,if-statement,Php,Function,If Statement,是否可以创建一个既可以显示又可以返回的PHP函数(根据我的调用方式,每次只能返回一个)?请看这个例子 例: 如果我调用它test\u function()它应该显示“Hello”; 如果我像$name=test_function()那样使用它$name应等于“Hello” 注意:我知道传递另一个参数并使用if条件可以做到这一点。如果有类似的情况,我正在寻找更快捷的方法。没有。您应该返回“Hello”,并在必要时回显它 function test_function() { return 'He
test\u function()
它应该显示“Hello”;
如果我像$name=test_function()那样使用它
$name
应等于“Hello”
注意:我知道传递另一个参数并使用if条件可以做到这一点。如果有类似的情况,我正在寻找更快捷的方法。没有。您应该返回“Hello”,并在必要时回显它
function test_function() {
return 'Hello';
}
$foo = test_function(); // $foo = 'Hello'
echo test_function(); // Prints 'Hello'
不可以。您应该返回“Hello”,并在必要时回显
function test_function() {
return 'Hello';
}
$foo = test_function(); // $foo = 'Hello'
echo test_function(); // Prints 'Hello'
不,你的建议是不可能的。你已经意识到有几种选择,但不能两者兼而有之。如果在同一函数中尝试
回显
和返回
,则在返回上下文中尝试使用该函数时会得到意外的结果
最好的解决方案是在函数中返回一个值,然后回显
function test_function() {
return 'Hello';
}
echo test_function();
或
不,你的建议是不可能的。你已经意识到有几种选择,但不能两者兼而有之。如果在同一函数中尝试
回显
和返回
,则在返回上下文中尝试使用该函数时会得到意外的结果
最好的解决方案是在函数中返回一个值,然后回显
function test_function() {
return 'Hello';
}
echo test_function();
或
这是有可能的,就像这样:
function test_function(){
echo "Hello";
}
// Direct output
test_function();
echo PHP_EOL . '<br>-------<br>' . PHP_EOL;
// Catch output into variable
ob_start();
test_function();
$name = ob_get_clean();
echo "Name: " . $name;
功能测试\u功能(){
回音“你好”;
}
//直接输出
test_函数();
回音PHP_EOL
----
'。PHP_EOL;
//将输出捕获到变量中
ob_start();
test_函数();
$name=ob_get_clean();
回声“名称:”$名称
输出:
你好-------
姓名:你好 看到它在运行
我想提一提:答案建议总是返回值,并在需要时打印出来,这可能是一种方法。这有点可能,比如:
function test_function(){
echo "Hello";
}
// Direct output
test_function();
echo PHP_EOL . '<br>-------<br>' . PHP_EOL;
// Catch output into variable
ob_start();
test_function();
$name = ob_get_clean();
echo "Name: " . $name;
功能测试\u功能(){
回音“你好”;
}
//直接输出
test_函数();
回音PHP_EOL
----
'。PHP_EOL;
//将输出捕获到变量中
ob_start();
test_函数();
$name=ob_get_clean();
回声“名称:”$名称
输出:
你好-------
姓名:你好 看到它在运行
我想提一提:答案建议总是返回值,并在需要时打印出来,这可能是正确的做法。不,这是不可能的。只需使用
echo test_function()代码>当你想要输出结果时,这是最简单的事情。请注意,“不可能”有点牵强。只是更难/不值得。不,那是不可能的。只需使用echo test_function()代码>当你想要输出结果时,这是最简单的事情。请注意,“不可能”有点牵强。只是更难/不值得。