PHP:xpath 无法在 php5.3 上工作,因为意外的“[”

PHP: xpath not working on php5.3 because of unexpected "["

我 运行 PHP5.4 上的以下行没有任何问题:

$lstContent = $data->xpath("/response/lst[@name='highlighting']")[0]->lst[$i]->arr->str;

但现在在 PHP5.3(生产系统)上我收到以下错误:

Parse error: syntax error, unexpected '[' in /var/www/html/upload/inc_suche_code.php on line 153

有什么快速修复的想法吗? 更新 PHP 对我不起作用。

在旧版本的 PHP 中,您不能直接访问作为函数结果的变量的数组值。您必须使用临时变量拆分表达式。​​

$result = $data->xpath("/response/lst[@name='highlighting']");
$lstContent = $result[0]->lst[$i]->arr->str;

As of PHP 5.4 it is possible to array dereference the result of a function or method call directly. Before it was only possible using a temporary variable.

来源:http://php.net/manual/en/language.types.array.php

编辑:强制性 "you should also consider upgrading your PHP version"。这个烦人的限制在很久以前就被修复了,更不用说 5.3 有它的 end of life in 2014,这意味着它从那以后就没有接受过安全升级。