调试时出现了, Warning:Illegal string offset提示,为了让主题更好的运行在Php7环境中,该问题貌似只出现于PHP5.4以上环境。
$catlist = array_merge(cat_list(0, 0, false), array('-'), article_cat_list(0, 0, false));
}
上面代码可以输出值,但是报错Warning: Illegal string offset 'cat_name' in ,原因是$catlist数组里面有空数组,空数组里没有cat_name这个字段。最终解决办法是在 foreach 下面加个判断 if(is_array($val)),这样就搞定了。
1、缺少 isset 而出现警告。当访问未定义变量时,PHP 会产生警告;
用 empty()
或者 isset()
判断变量是否定义
2、在php文件首行加入error_reporting(0);
1、在PHP手册中搜索到函数error_reporting(0)
;官方解释是Turn off all error reporting
,于是把error_reporting(0)
;加到PHP程序的首行
,运行后果然没出现任何错误提示!
2、在php文件的首行加入error_reporting(E_ALL ^ E_NOTICE);
,毕竟不能因为一个错误关闭所有的错误警告。
3、有关error_reporting()函数:
error_reporting(0);
//禁用错误报告
error_reporting(E_ALL ^ E_NOTICE);
//显示除去 E_NOTICE 之外的所有错误信息
error_reporting(E_ALL^E_WARNING^E_NOTICE);
//显示除去E_WARNING E_NOTICE 之外的所有错误信息
error_reporting(E_ERROR | E_WARNING | E_PARSE);
//显示运行时错误,与error_reporting(E_ALL ^ E_NOTICE);效果相同。error_reporting(E_ALL);//显示所有错误
以上问题应当是把我们的Php升级大于5.4造成的,希望以上方法对你有所帮助。
失落的羊2024-11-14 22:06
今日申请十年之约博客成员!
失落的羊2024-11-02 21:34
启用新的访问统计.
失落的羊2024-10-28 23:31
重新整理长篇连载栏目
失落的羊2024-10-19 10:35
构思公众号文章迁移计划
失落的羊2024-10-16 23:16
开始研究公众号后台自动回复