我班上有这个功能。默认它应该回显值,但也可以通过使用可选参数将值返回到变量。
public function test($return = false) {
$value = 'demo123';
if ($return) {
return $value; // optional
} else {
echo $value; // default
}
}
有没有办法让这个“如果”更短,在一行(因为我有很多功能,所以我可以保存很多行)。
我尝试了三元运算符,但我不知道我是否可以在某种程度上使用它们。
执行此返回/回显功能的最佳,正确,美观方法是什么?
答案 0 :(得分:4)
行不昂贵,因此减少代码行并不是一个特别有用的目标,特别是如果它降低了可读性。
但是,您可以删除else子句,因为返回将会返回!
public function test($return = false)
{
$value = 'demo123';
if ($return) {
return $value; // optional
}
echo $value; // default
}
答案 1 :(得分:2)
如果您因为代码复制而执行此操作,那么我会通过另一个评估$ return的函数传递所有结果。
number.to_s[0].to_i
答案 2 :(得分:1)
在你的情况下我会这样做。每个函数末尾只有一行代码。
public function test($return = false)
{
$value = 'demo123';
return returnMe($return, $value);
}
private function returnMe($return = false, $value){
if ($return) {
return $value;
}else{
echo $value;
return false;
}
}