我需要用括号把PHP内置函数括起来吗?
这些是最恰当的方式吗?
(empty($UrlArray[1])), (is_numeric($UrlArray[1])), (strlen($UrlArray[1]) == 4)
或者,这些是最恰当的方式吗?
empty($UrlArray[1]), is_numeric($UrlArray[1]), strlen($UrlArray[1]) == 4
这个可以用,但我想知道是不是括号太多了。
( ( (empty($UrlArray[1])) OR ( (!empty($UrlArray[1])) AND (is_numeric($UrlArray[1])) AND (strlen($UrlArray[1]) == 4) ) ) AND (count($UrlArray) < 3) )
如果我省略了包含PHP内置函数的圆括号,代码片段仍然有效。
( ( empty($UrlArray[1]) OR ( !empty($UrlArray[1]) AND is_numeric($UrlArray[1]) AND strlen($UrlArray[1]) == 4 ) ) AND count($UrlArray) < 3 )
我总是用括号将PHP内置函数括起来。但我想知道这是不是最好的方法。
谢谢。
发布于 2013-11-14 11:28:22
不是的。您不需要将函数放在圆括号中。事实上,如果我不得不维护这样的代码,可能会让我发疯。
这似乎只会增加混乱,特别是当你已经有很多括号的时候。这将使它们更难匹配。
然而,在您的第一个示例中,您具有以下内容:
(strlen($UrlArray[1]) == 4)
国际海事组织,这一个很好。我可能会将整个比较放在这样的括号中,但我不会这样做:
((strlen($UrlArray[1])) == 4)
我也可以将其格式化以提高可读性:
if (
count($UrlArray) < 3
&& (
empty($UrlArray[1])
|| (
!empty($UrlArray[1])
&& is_numeric($UrlArray[1])
&& strlen($UrlArray[1]) == 4
)
)
) {
// do something
}
https://stackoverflow.com/questions/19968956
复制相似问题