首先我为我的英语道歉,我知道这不是最好的...我找到了多个与我的问题相关的帖子,但不幸的是我不知道PHP代码,所以我无法解决我的问题ptroblem ...
在我的网站上,我想将PHP更新到版本7.x.x,但是有一个错误: 注意:在第98行的/option-tree/ot-loader.php中只能通过引用传递变量
拜托,有人可以帮我解决这个问题吗?下面是我需要编辑的代码行。
$path = ltrim( end( @explode( get_template(), str_replace( '\\', '/', dirname( __FILE__ ) ) ) ), '/' );
谢谢。
答案 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__ ) )
)
),
'/'
);
一些个人建议:
尝试让您的表达更简单。过于复杂的语言结构当然是紧凑的,但极难阅读和调试。没有人会这样赢。
您也应该从不在功能标识符之前使用@
运算符来抑制错误或警告。此类警告提供了重要信息,您应该修复这些问题而不是压制它们。