首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我需要用括号把PHP内置函数括起来吗?

我需要用括号把PHP内置函数括起来吗?
EN

Stack Overflow用户
提问于 2013-11-14 11:26:40
回答 1查看 68关注 0票数 0

我需要用括号把PHP内置函数括起来吗?

这些是最恰当的方式吗?

代码语言:javascript
运行
复制
(empty($UrlArray[1])), (is_numeric($UrlArray[1])), (strlen($UrlArray[1]) == 4)

或者,这些是最恰当的方式吗?

代码语言:javascript
运行
复制
empty($UrlArray[1]), is_numeric($UrlArray[1]), strlen($UrlArray[1]) == 4

这个可以用,但我想知道是不是括号太多了。

代码语言:javascript
运行
复制
( ( (empty($UrlArray[1])) OR ( (!empty($UrlArray[1])) AND (is_numeric($UrlArray[1])) AND (strlen($UrlArray[1]) == 4) ) ) AND (count($UrlArray) < 3) )

如果我省略了包含PHP内置函数的圆括号,代码片段仍然有效。

代码语言:javascript
运行
复制
( ( empty($UrlArray[1]) OR ( !empty($UrlArray[1]) AND is_numeric($UrlArray[1]) AND strlen($UrlArray[1]) == 4 ) ) AND count($UrlArray) < 3 )

我总是用括号将PHP内置函数括起来。但我想知道这是不是最好的方法。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-11-14 11:28:22

不是的。您不需要将函数放在圆括号中。事实上,如果我不得不维护这样的代码,可能会让我发疯。

这似乎只会增加混乱,特别是当你已经有很多括号的时候。这将使它们更难匹配。

然而,在您的第一个示例中,您具有以下内容:

代码语言:javascript
运行
复制
(strlen($UrlArray[1]) == 4)

国际海事组织,这一个很好。我可能会将整个比较放在这样的括号中,但我不会这样做:

代码语言:javascript
运行
复制
((strlen($UrlArray[1])) == 4)

我也可以将其格式化以提高可读性:

代码语言:javascript
运行
复制
if (
    count($UrlArray) < 3
    && (
        empty($UrlArray[1])
        || (
            !empty($UrlArray[1])
            && is_numeric($UrlArray[1])
            && strlen($UrlArray[1]) == 4
        )
    )
) {
    // do something
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19968956

复制
相关文章

相似问题

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