PHP警告Cannot use a scalar value as an array

报错代码

       foreach ($data as $key => $value) {
            $strtotime = strtotime($key) + 3600 * 8;
            $time = intval($strtotime / 86400);
            try {
                $cache = Yii::$app->cache->instance('base');
                foreach ($channels as $key1 => $value1) {
                    $k = "user:state:USER_V_O#".$value1."#";
                    $set = $cache->exists($k . $time);
                    if (!$set) {
                        $data[$key][$value1] = 0;
                    } else {
                        $nums = $cache->scard($k . $time);
                        $data[$key][$value1][]=intval($nums);
                    }
                }

            } catch (Exception $ex) {
                //TODO待做
                $error = '获取数据库信息失败';
            }
        }

更正代码:

       foreach ($data as $key => $value) {
            $strtotime = strtotime($key) + 3600 * 8;
            $time = intval($strtotime / 86400);
            /****处理报错****/
            if (!$data[$key]) {
                $data[$key]= [];
            }
            /****结束****/
            try {
                $cache = Yii::$app->cache->instance('base');
                foreach ($channels as $key1 => $value1) {
                    $k = "user:state:USER_V_O#".$value1."#";
                    $set = $cache->exists($k . $time);
                    if (!$set) {
                        $data[$key][$value1] = 0;
                    } else {
                        $nums = $cache->scard($k . $time);
                        $data[$key][$value1][]=intval($nums);
                    }
                }

            } catch (Exception $ex) {
                //TODO待做
                $error = '获取数据库信息失败';
            }
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值