关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

PHP ‘Array and string offset access syntax with curly braces is deprecated’ 错误的原因和解决办法

发布时间:2022/11/16 15:37:19
香港云服务器

一、错误原因

其实从错误信息里就看出错误原因了:Array and string offset access syntax with curly braces is deprecated,这是 PHP 7.4 版本的更新,从 7.4 后,只能使用 $value[0] 的方式来获取字符串偏移,$value{0} 已经被弃用。

ThinkPHP 报错的原因是在 thinkphp\library\think\db\Query.php 的 568 行有一段代码用了 $value{0} 的方式:

$seq = (ord($value{0}) % $rule['num']) + 1;

二、错误解决方法

解决方法也很简单,将 $value{0} 改成 $value[0] 就行了:

$seq = (ord($value[0]) % $rule['num']) + 1;