PHP Fatal error: Cannot pass parameter N by reference in错误原因及解决办法 发布时间:2023/10/11 PHP Fatal error: Cannot pass parameter N by reference in XXX,其中N为阿拉伯数字。 错误说明:不能按引用传递第N个参数 错误原因:调用包含引用参数的函数时,对应的引用参数不是变量。 示例代码: <?php function math_add($p1,&$p2){ return $p1+$p2; } $p = 2; echo math_add(1,$p);//正确:输出3 echo math_add(1,2);//错误:PHP Fatal error: Cannot pass parameter 2 by reference ?>复制代码 foreach ($this->metas as $key => $val ) { ${"meta" . $i} = $this->xml->createElement($key); ${"meta" . $i}->appendChild($this->xml->createTextNode($val)); $articleinfo->appendChild(${"meta" . $i}); //应输入变量而不是"meta" . $i $i++; }复制代码 public function appendChild(&$child) { $child->parentNode = &$this; $this->childNodes[] = $child; if ($child->nodeType == XML_TYPE_NODE) { $child->previousSibling = &$this->lastChild; } if ($this->nodeType == XML_TYPE_NODE) { if (!is_null($this->lastChild)) { $this->lastChild->nextSibling = $child; } $this->firstChild = &$this->childNodes[0]; $this->lastChild = $child; } }复制代码