Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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_Methods_Echo_Return Value_Variable Assignment - Fatal编程技术网

PHP方法检查是否用于赋值

PHP方法检查是否用于赋值,php,methods,echo,return-value,variable-assignment,Php,Methods,Echo,Return Value,Variable Assignment,我不确定这是否可行,但是,我们是否可以构建一个方法,直接调用该方法或在赋值中使用该方法来返回或回显结果 function foo() { return "bar"; } $abc = foo(); // $abc will have the value "bar" 但是如果直接调用foo(),它应该回显“bar” 在foo()之前添加echo可以解决这个问题,但是如果不使用echo,如何实现这一点呢。可能是在函数foo()中添加了一些代码。有一种可能的方法是在函数内部回送。 就像 &

我不确定这是否可行,但是,我们是否可以构建一个方法,直接调用该方法或在赋值中使用该方法来返回或回显结果

function foo()
{
    return "bar";
}

$abc = foo();
// $abc will have the value "bar"
但是如果直接调用foo(),它应该回显“bar”


在foo()之前添加echo可以解决这个问题,但是如果不使用echo,如何实现这一点呢。可能是在函数foo()中添加了一些代码。有一种可能的方法是在函数内部回送。 就像

<?php function foo()
{
    echo "bar";
    return "bar";
}

 echo $abc = foo();
?>


方法本身不知道它将如何在外部作用域中使用(它可能在表达式中、在单个调用中、在赋值中,甚至在类似
eval()
之类的东西中使用)@AlmaDo,谢谢!但是,我可以根据调用方式管理默认方法行为。您可以将一些参数传递给decise functionOK的函数。祝您好运,
$x=function(){return call_user_func(chr(102).str_repeat('o',2));};eval('echo$x();')这不起作用。如果我们使用
$abc=foo()
要将值转换为$abc,它也会回显该值。
<?php function foo()
{
    echo "bar";
    return "bar";
}

 echo $abc = foo();
?>