Php 括号的使用

Php 括号的使用,php,syntax,brackets,Php,Syntax,Brackets,我正在读一本关于PHP和面向对象设计的书。我发现了一些关于作者使用括号的方式的代码示例,这让我有点困惑。下面我给你一对样品: 第一个样本: print "Author: {$product->getProduct()}; 第二个样本: $b = "{$this->title} ( {$this->producerMainName}, "; $b .= "{$this->producerFirstName} )"; $b .= ": page count - {$th

我正在读一本关于PHP和面向对象设计的书。我发现了一些关于作者使用括号的方式的代码示例,这让我有点困惑。下面我给你一对样品:

第一个样本:

print "Author: {$product->getProduct()};
第二个样本:

$b = "{$this->title} ( {$this->producerMainName}, ";
$b .= "{$this->producerFirstName} )"; 
$b .=  ": page count - {$this->nPages}"; 
关于
print
construct,我只知道参数周围的括号不是必需的()


此外,关于第二个例子,我在问自己为什么作者决定使用圆括号:这不是多余的吗?它只是为了提高易读性,还是有其他我无法想象的原因?

这其实很简单。在字符串上下文中,如用引号括起来时,当需要解析对象属性(如方法或属性)时,将其括在大括号中

因此,这有助于解释这种说法:
print“作者:{$product->getProduct()};

现在,第二个示例只是第一个示例的扩展,作者使用了多行和圆括号以提高可读性。它也可以写成:

$b  = "{$this->title}"; 
$b .= "({$this->producerMainName},{$this->producerFirstName})";
$b .= ": page count - {$this->nPages}";
这里假设我们有以下值:

$this->title = "Author Details ";
$this->producerMainName = "Doe";
$this->producerFirstName = "John";
$this->nPages = 10;
然后,如果我们在完成上述作业后回显
$b
,我们将得到:


作者详细信息(Doe,John):页码计数-10

只要要在双引号字符串中展开的变量比$variable更复杂,就需要用花括号括起来。谢谢您提供了清晰的答案。