我是否需要在括号中包含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内置函数括在括号中。但我只是想知道这是否是最佳方式。
感谢。
答案 0 :(得分:3)
没有。您不需要将函数包装在括号中。事实上,如果我不得不维护这样的代码,那可能会让我发疯。
似乎只会增加混乱,特别是当你已经有很多括号时。这将使他们更难以匹配。
在你的第一个例子中,你有这个:
(strlen($UrlArray[1]) == 4)
IMO,这个很好。我可能会将整个比较包装在像这样的括号中,但我不会做这样的事情:
((strlen($UrlArray[1])) == 4)
我也可以将其格式化以便于阅读:
if (
count($UrlArray) < 3
&& (
empty($UrlArray[1])
|| (
!empty($UrlArray[1])
&& is_numeric($UrlArray[1])
&& strlen($UrlArray[1]) == 4
)
)
) {
// do something
}