检查两个多维数组 是否一致
1 2 3 4 5 6 7 8 9 10 11 12 13 | //检查两个多维数组 是否一直<br> 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 ; }<br><br><br> /**<br> * 商品信息缓存一致性检查<br> * @param $productId<br> * @return bool<br> */ <br> public function checkProductAttach( $productId )<br> {<br> $getAttach = $this ->productService->getAttach( $productId );<br><br> $getProductAttach = $this ->productService->getProductAttach( $productId );<br><br> if ( $getProductAttach == false){<br> Yii:: $app ->dataCache->getRedis()->del([ 'PRODUCT_ATTACH' , $productId ]);<br> return true;<br> }<br> $isSame = $this ->isSame( $getAttach , $getProductAttach );<br><br> $arr = [];<br> $arrCache = $this ->foo( $getAttach , $arr );<br> $arrService = $this ->foo( $getProductAttach , $arr );<br><br> $result = [ 'isSame' => $isSame , 'diff' => array_diff ( $arrService , $arrCache )];<br><br> if ( $isSame ==false){<br> Yii::getLogger()->log([ 'errorkey' => 'RedisCheckError:' . $productId , 'errorvalue' => json_encode( $result [ 'diff' ])], Logger::LEVEL_ERROR);<br> }<br> return $result ;<br> } |
分类:
PHP&mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程