鉴于功能
function sum( $a, $b )
{
echo $a + $b;
return $a + $b;
}
可以使用它的返回值......
$c = sum( 2, 3 );
otherFunction( sum( 4, 5 ) );
......或者只是丢弃。
sum( 6, 7 );
有没有办法从sum()
内的代码知道如果在函数终止时将使用返回值(分配给变量/表达式或传递给另一个函数)还是丢弃?
答案 0 :(得分:3)
不,我不敢。
有些语言可以让你检测函数的调用上下文(例如Perl有UnaryOperator<Change> filter = change -> {
String text = change.getText();
if (text.matches("[0-9]*")) {
return change;
}
return null;
};
TextFormatter<String> textFormatter = new TextFormatter<>(filter);
fieldNport = new TextField();
fieldNport.setTextFormatter(textFormatter);
,它不仅会告诉你是否分配了返回值,而且它是否预期是一个标量或列表值)。但它们是例外;大多数都没有这样的功能,PHP就在那个阵营中。
您的函数必须只返回它返回的值,并将其留给调用者,以便使用返回值。