【问题标题】:Can't use method return value in write context PHP unset() [duplicate]无法在写入上下文PHP unset()中使用方法返回值[重复]
【发布时间】: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.'"]'));

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

【问题讨论】:

    标签: php xml xpath


    【解决方案1】:

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

    【讨论】:

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