「水坑」Z-BlogPHP 中各种错误提示的复现
条评论严格来说并不都是 Z-BlogPHP 独有的错误;
另外这里标题是「复现」,以最简单的例子演示为什么会出现这种错误,至于初学者能否看懂以及能否帮助解决实际的问题。。emmm
包月 59.3 看心情解答各种问题。。zblog 为主。。
HelloZBlog「插件开发演示」 - Z-Blog 应用中心:
https://app.zblogcn.com/?id=18072
zb_users\plugin\HelloZBlog\include.php
中有一个HelloZBlog_debug()
函数,在该函数内可以测试复现下边各种错误;
Array and string offset access syntax with curly braces is no longer supported
offset access
直译是「偏移访问」,对应的中文概念是「(数组)下标」;
syntax
是「语法」,比如PHP
、JavaScript
在表达普通字符串时单引号和双引号都可以,但是涉及「变量解析/模板字符串」时有各自的「规则语法」;
curly braces
是「大括号」;
no longer supported
——不再支持;
1 | // 正确 |
编辑器语法检测会提示:
「花括号」形式的「数组或字符串下标」已经在「PHP 7.4 中废弃(deprecated)」,然后「Targeting PHP 8.1.0」;
所以这个「Targeting」该怎么翻译。。我自己现在用的 7.4,实际花括号并没有报错,各种讨论中也是用 PHP 8 的会出现这个报错;
Trying to access array offset on value of type null
1 | // 正确 |
Function name must be a string
1 | // 正确 |
Call to undefined function fnTest()
对于上边$var = "fnTest";
的示例能够正确执行,需要定义:
1 | function fnTest() |
Call to a member function fnTest() on bool
1 | $obj = true; |
Array to string conversion
1 | // 正确,输出前进行转换或额外处理 |
参考:
php 提示 Array to string conversion 解决方案:https://blog.csdn.net/zeroking_vip/article/details/87960319
「CSDN 少数有用的内容」