Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以创建一个既可以显示又可以返回的PHP函数?_Php_Function_If Statement - Fatal编程技术网

是否可以创建一个既可以显示又可以返回的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

是否可以创建一个既可以显示又可以返回的PHP函数(根据我的调用方式,每次只能返回一个)?请看这个例子

例:

如果我调用它
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()当你想要输出结果时,这是最简单的事情。请注意,“不可能”有点牵强。只是更难/不值得。