更新到PHP 7.x.x.

时间:2016-12-21 14:29:58

标签: php

首先我为我的英语道歉,我知道这不是最好的...我找到了多个与我的问题相关的帖子,但不幸的是我不知道PHP代码,所以我无法解决我的问题ptroblem ...

在我的网站上,我想将PHP更新到版本7.x.x,但是有一个错误: 注意:在第98行的/option-tree/ot-loader.php中只能通过引用传递变量

拜托,有人可以帮我解决这个问题吗?下面是我需要编辑的代码行。

$path = ltrim( end( @explode( get_template(), str_replace( '\\', '/', dirname( __FILE__ ) ) ) ), '/' );

谢谢。

1 个答案:

答案 0 :(得分:2)

最有可能的问题是,您将函数调用的结果移交给需要变量end()函数,因为它将引用定义为单个参数。由于显而易见的原因,函数返回值可以是数组,但不是变量。您必须存储结果才能将其用作参考:

$someArray = 
  explode( 
    get_template(), 
    str_replace( '\\', '/', dirname( __FILE__ ) ) 
  ) 
); 
$path = ltrim(end($someArray), '/');

或者,您也可以使用"内联分配":

来缩短时间
$path = ltrim( 
  end(
    $someArray = explode( 
      get_template(), 
      str_replace( '\\', '/', dirname( __FILE__ ) ) 
    ) 
  ), 
  '/' 
);

一些个人建议:

  • 尝试让您的表达更简单。过于复杂的语言结构当然是紧凑的,但极难阅读和调试。没有人会这样赢。

  • 您也应该从不在功能标识符之前使用@运算符来抑制错误或警告。此类警告提供了重要信息,您应该修复这些问题而不是压制它们。