码迷,mamicode.com
首页 > 编程语言 > 详细

检查两个多维数组 是否一直

时间:2017-02-24 16:04:11      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:check   sch   val   err   cache   商品   als   div   logger   

    //检查两个多维数组 是否一直
  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;
    }

 

检查两个多维数组 是否一直

标签:check   sch   val   err   cache   商品   als   div   logger   

原文地址:http://www.cnblogs.com/-mrl/p/6438889.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!