PHP 7.1 报错:Cannot use string offset as an array

文章目录

    有一段在 PHP 5 下运行正常的代码,放到了 PHP 7.1 环境下执行报错。

    报错信息为:

    Cannot use string offset as an array

    代码片段

    $data = ‘’;
    
    foreach ($_POST as $k=>$v)
    {
    	$data[$k]['id'] = $k;     // 报错
    	$data[$k]['val'] = I("post.".$k);
    }
    

    解决方法

    将初始化的空字符串替换为 array。

    $data = array();
    

    不明白为啥字符串还有这种谜一样的操作,而且 PHP5 居然还允许 。。。

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式