公共函数add($child) { 返回 $this->children[]=$child; }
顺便说一下,这是Dagfinn Reiersol的《PHP实战》中的摘录。根据该书,此函数返回$child,但在成功赋值的情况下应返回true,否则返回false吗?
提前致谢。
公共函数add($child) { 返回 $this->children[]=$child; }
顺便说一下,这是Dagfinn Reiersol的《PHP实战》中的摘录。根据该书,此函数返回$child,但在成功赋值的情况下应返回true,否则返回false吗?
提前致谢。
$child
。这是因为$child
首先被添加到数组$this->children[]
中。然后,返回此赋值的结果。
本质上,它是以下简写形式:
public function add($child){
$this->children[]=$child;
return $child;
}
$a = ($b = 3)
实际上是从右向左计算的,即3
被存储在$b
中,然后再存储在$a
中。此外,我在提供链接的页面上还有一个注释:
更多信息:http://en.wikipedia.org/wiki/Operator_associativity虽然=的优先级低于大多数其他运算符,但PHP仍将允许类似以下表达式:
if (!$a = foo())
,在这种情况下,foo()
的返回值被放入$a
。
它确实返回子元素,因为赋值语句只会返回被赋的值。
它是否应该在成功时返回 true 不是一个规则,所以如果它被记录为返回子元素,那就是正确的。
=
和==
非常容易。这就是错误和失误悄悄产生的方式。 - Chris Laplante