首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP函数“如果指定了第二个参数”

PHP函数“如果指定了第二个参数”
EN

Stack Overflow用户
提问于 2017-01-15 01:51:34
回答 1查看 31关注 0票数 0

我有一个简单的功能,有条件地将单位转换为英尺或英寸以供展示。我还想使用它有条件地将实际文本ftin添加到末尾。我不能在每一种情况下都添加这个文本,因为当您想要的是36 in x 24 in x 10 in时,我会以36x24x10 in结束。

所以基本上我是想这么做:

代码语言:javascript
复制
function ex($x, $y) {
    if only $x is specified {
        if ($x < 50) {
            return $x/25.4
        }
        else {
            return $x/304.8
        }
    }
    elseif $x and $y are both specified {
        if ($x < 50) {
            return ' in';
        }
        else {
            return ' ft';
        }
    }
}

echo ex($NumberToConvert).'x'.ex($OtherNumberToConvert).example($NumberIWantToConvert,1);

但这当然会导致“缺失论点2”的警告。最明显的问题是使用if ($y > 0),并且总是必须指定两个参数(在寻找数字输出时使用后一个参数,在查找文本时使用1)。但还有什么更优雅的吗?

(是的,我知道只有当这两个数字都小于50或两者都不存在时才有意义)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-15 01:58:13

利用函数的default argument values。因此,您的ex函数应该如下所示:

代码语言:javascript
复制
function ex($x = null, $y = null) {
    if($x != null && $y == null){
        if ($x < 50) {
            return $x/25.4
        }else{
            return $x/304.8
        }
    }elseif($x != null && $y != null){
        if ($x < 50) {
            return ' in';
        }else{
            return ' ft';
        }
    }
}

将函数中的null作为$x$y的默认参数,并相应地在函数中处理这些变量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41657021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档