无法在写入上下文PHP unset()中使用方法返回值[重复]

Posted

技术标签:

【中文标题】无法在写入上下文PHP unset()中使用方法返回值[重复]【英文标题】:Can't use method return value in write context PHP unset() [duplicate] 【发布时间】:2015-06-14 14:21:49 【问题描述】:

我知道对于这个确切的问题有很多答案,但似乎没有一个可以帮助我解决我的问题。

我的服务器上有一个 xml 文件,我需要使用 php SimpleXML 从文档中删除一个元素。经过一番谷歌搜索后,我发现了一些答案说要使用 unset() 然后保存 xml。

所以我想出了这个:

function deleteCourse($course)
    $xml = self::getxml(); # get the XML file
    unset($xml->xpath('course[name = "'.$course.'"]'));
    $xml->asXml("data.xml");

现在每当我运行此程序时,我都会收到此错误:PHP Fatal error: Can't use method return value in write context in blahblahLink on line 92

第 92 行是unset($xml->xpath('course[name = "'.$course.'"]'));

我真的希望有人可以帮助我解决这个问题

【问题讨论】:

【参考方案1】:

unset 如果你传递方法返回将不起作用,而是传递变量内容/数组

【讨论】:

显示他应该写什么。他应该传递什么变量?这将如何改变$xml 部分的内容? @Barmar 我无法指导他,因为我对 xml 和 xpath 了解不多,但我知道的所有东西都不能在 unset 中使用方法返回,所以我发布了答案......对不起 你只是告诉他错误信息已经说了什么。除非你能告诉他如何解决这个问题,否则你无济于事。 这应该只是一个评论,因为它不会试图解决问题。 实际上,现在我明白了错误的含义,我不能在unset 中使用方法本身,我需要在方法之外执行xpath 并在unset() 中使用变量名方法?

以上是关于无法在写入上下文PHP unset()中使用方法返回值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

了解致命错误:无法在写入上下文中使用临时表达式

PHP - unset 函数在我的代码之前取消设置我的 var

unset() 不工作 PHP

奇怪的 PHP 错误:'不能在写上下文中使用函数返回值'

PHP - 无法结束会话

PHP中unset,array_splice删除数组中元素的区别