zoukankan      html  css  js  c++  java
  • 检查两个多维数组 是否一致

        //检查两个多维数组 是否一直
      public function foo($arr, &$rt , $key='' ,$i=0) { if (is_array($arr)) { foreach ($arr as $k=>$v) { if (is_array($v)) { $this->foo($v ,$rt ,$k ,$i); } else { $rt[$key.'->'.$k.$i] = $v; } $i++; } } return $rt; }


        /**
         * 商品信息缓存一致性检查
         * @param $productId
         * @return bool
         */
        public function checkProductAttach($productId)
        {
            $getAttach = $this->productService->getAttach($productId);

            $getProductAttach = $this->productService->getProductAttach($productId);

            if($getProductAttach == false){
                Yii::$app->dataCache->getRedis()->del(['PRODUCT_ATTACH', $productId]);
                return true;
            }
            $isSame = $this->isSame($getAttach ,$getProductAttach );

            $arr = [];
            $arrCache = $this->foo($getAttach,$arr);
            $arrService = $this->foo($getProductAttach,$arr);

            $result = ['isSame'=>$isSame,'diff'=>array_diff($arrService, $arrCache)];

            if($isSame==false){
                Yii::getLogger()->log(['errorkey' => 'RedisCheckError:'.$productId , 'errorvalue' => json_encode($result['diff'])], Logger::LEVEL_ERROR);
            }
            return $result;
        }
  • 相关阅读:
    最长严格上升子序列
    01背包
    八数码难题
    跳石头
    立体图
    质因数分解 2012年NOIP全国联赛普及组
    多项式输出 2009年NOIP全国联赛普及组
    绕钉子的长绳子
    数星星
    进制转换
  • 原文地址:https://www.cnblogs.com/-mrl/p/6438889.html
Copyright © 2011-2022 走看看