代码之家  ›  专栏  ›  技术社区  ›  mrks

PHP:xpath无法在php5.3上运行,因为意外的“[”[重复]

  •  1
  • mrks  · 技术社区  · 7 年前

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

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

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

    解析错误:语法错误,第153行的/var/www/html/upload/inc\u suche\u code.php中出现意外的“[”

    有什么快速解决方法吗? 更新PHP对我来说不起作用。

    1 回复  |  直到 7 年前
        1
  •  6
  •   OptimusCrime    7 年前

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

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

    从PHP 5.4开始,可以直接对函数或方法调用的结果进行数组解引用。在此之前,只能使用临时变量。

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

    编辑:强制性“您还应该考虑升级您的PHP版本”。这个恼人的限制是多年前固定的,更不用说5.3有它的 end of life in 2014 ,这意味着自那以后它没有收到安全升级。