【问题标题】:Parse error: syntax error, unexpected '[' with php 5.3 [duplicate]解析错误:语法错误,php 5.3 出现意外的“[”[重复]
【发布时间】:2013-04-27 20:39:30
【问题描述】:

我的脚本在我的 xampp 上运行良好。现在我尝试上传到服务器上,但它直接吐了一个

解析错误:语法错误,意外'['

在我的脸上。 :(

它嘲讽的是这一行:

    $item = $xml->xpath($path)[0];

而且我不知道出了什么问题。我试图查看 php 5.3 更改日志,但没有找到任何相关信息。 (因为我在服务器上有 5.3,而在 xampp 上它是旧版本)

整个代码块如下所示:

$path = '//item[@id="'.$id.'"]';
if ($xml->xpath($path)) {
    $item = $xml->xpath($path)[0];
} else {
    die('<p class="error">Script Error: Code 101 - Please contact administrator</p>');
}

感谢您的帮助,我无法通过谷歌搜索 [ 并且不知道它来自哪里,因为在 xampp 上它工作正常

【问题讨论】:

  • 你需要 5.4 才能像这样使用它。在你的情况下$item = $xml-&gt;xpath($path); $item[0];
  • “从 PHP 5.4 开始,可以直接对函数或方法调用的结果进行数组取消引用。之前只能使用临时变量。” php.net/manual/en/language.types.array.php
  • $item = $xml->xpath($path0);我不知道,但这有用吗?
  • 你需要把$item = $xml-&gt;xpath($path)[0];改成$item = (string)$xml-&gt;xpath($path)[0]-&gt;value;
  • 我不知道为什么这个问题与这个问题重复:PHP syntax for dereferencing function result

标签: php php-5.3 parse-error


【解决方案1】:

试试这个 $item = $xml-&gt;xpath($path);
$item = $item[0];

【讨论】:

  • 或者你可以迁移到 >= PHP 5.4.x
  • 因推广 copypasta 而被否决。
猜你喜欢
  • 1970-01-01
  • 2018-06-29
  • 1970-01-01
  • 1970-01-01
  • 2016-03-28
  • 2019-01-16
  • 1970-01-01
  • 1970-01-01
  • 2018-06-28
相关资源
最近更新 更多