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();
?>