沃梦达 / 编程问答 / php问题 / 正文

PHP Fatal error: Cannot pass parameter N by reference in错误原因及解决办法

PHP Fatal error: Cannot pass parameter N by reference in XXX,其中N为阿拉伯数字。 错误说明:不能按引用传递第N个参数 错误原因:调用包含引用参数的函数时,对应的引用参数不是变量。 示例代码: ?phpfunction math_add($p1,$p2){ return $p1+$p2;}$p = 2;echo math_add(1,

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;
	}
}
 

本文标题为:PHP Fatal error: Cannot pass parameter N by reference in错误原因及解决办法