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

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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值