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,这意味着它从那以后就没有接受过安全升级。
我 运行 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,这意味着它从那以后就没有接受过安全升级。