在PHP中,将函数调用括在括号内意味着什么?

3
在我正在使用的框架Phpfox中,我经常看到这样的函数调用签名:
(($sPlugin0 = Phpfox_Plugin::get('user.service_user_isuser')) ? eval($sPlugin1) : false);

我看不出外部括号的明显用途,因为:

  1. $sPlugin1 从封闭范围中读取并
  2. $sPlugin0 被分配后传递给封闭范围。

那么外部括号的目的是什么?我的意思是,外部括号是否有像Javascript中的功能方面?

更新: 我知道在这样的表达式中,外部括号是没有意义的

(1 + 1)

那不是我在问的。

我现在得出结论,正如我所怀疑的那样,在php中,这些外部括号不起作用。

谢谢


2
这是毫无意义且没有任何作用的。 - ceejayoz
1
三元条件运算符似乎也是毫无意义的。一个空字符串就可以满足eval - mario
1
某些框架开发者的技术深度是不可思议的。 - user557846
1
除了将代码分组以使其更易读之外,它并没有任何作用。 - Severino Lorilla Jr.
1个回答

2
在PHP中,这是毫无意义且不起作用的。就像在数学中我们所做的一样。
( 1 + 2 ) 

甚至更多
((1) + (2))

括号用于表示优先级(有助于确定哪个操作将首先进行评估)。只有当其旁边有更多的操作时,它才会改变:

( 1 + 2 ) * 2 

在下面这种情况下,外层括号不起任何作用

(( 1 + 2 ) * 2) 

你没有理解重点,虽然我没有直接解释。但是,我的关于作用域的评论应该是一个线索,表明我正在探讨语言的作用域和功能方面。在Javascript中,外部括号确实有意义。谢谢。 - Mike Makuch
1
@MikeMakkuch 对不起,伙计。只回答“没有”是很难的。我知道你会使用括号。再次道歉,我并不是有意冒犯或暗示其他不好的事情。 - Ceeee

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接