首页 > 代码库 > 检查两个多维数组 是否一直
检查两个多维数组 是否一直
//检查两个多维数组 是否一直
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;
}
检查两个多维数组 是否一直
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。