我使用的是旧版PHP hook class,并且我的PHP更新出现问题
这是我的错误
[php7:error] PHP Fatal error: Uncaught Error: Cannot use string offset as an array in /var/www/html/libs/Hooks.class.php:202\nStack
这是我的源代码(ligne 202)
function add_hook($tag, $function, $priority = 10) {
if (! isset ( $this->hooks [$tag] )) {
die ( "There is no such place ($tag) for hooks." );
} else {
$this->hooks [$tag] [$priority] [] = $function; // <-- this is problem (line 202)
}
}
如果我更改引起如下问题的行:
$this->hooks [$tag] [$priority] = $function; // <-- this is problem (line 202)
我只得到内容的第一个字母(如图所示)
我不知道如何解决问题
答案 0 :(得分:1)
如果将var定义为字符串-您将无法添加数组元素。您的解决方案-使用Cnange库函数可以:
function set_hook($tag) {
$this->hooks [$tag] = [];
}
为了获得更好的代码质量-将函数声明更改为:
function add_hook($tag, $function, $priority = "10") {