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 = '獲取數據庫信息失敗';
            }
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章