如何使用core PHP统计数组中指定商品ID的总出现次数
PHP统计指定商品ID的关联订单数量
<?php // 示例订单数据,替换为你实际的订单商品数组即可 $orders = [ 'od1' => [49, 50, 51, 52], 'od2' => [48, 49, 50, 51], 'od3' => [49, 50, 51, 52, 54], 'od4' => [51, 52, 54, 55, 56] ]; // 统计单个商品的关联订单数 $targetPid = 52; $count = 0; foreach ($orders as $productIds) { // 单个订单内出现多次目标商品仅计数1次,符合限购统计逻辑 if (in_array($targetPid, $productIds)) { $count++; } } echo $count; // 输出结果为3
如果需要一次性统计所有商品的关联订单数,用于多商品限购校验,可以用以下写法:
$productOrderCount = []; foreach ($orders as $productIds) { // 去重避免同订单同商品重复计数 $uniquePids = array_unique($productIds); foreach ($uniquePids as $pid) { $productOrderCount[$pid] = ($productOrderCount[$pid] ?? 0) + 1; } } // 直接读取对应商品ID的订单数即可 echo $productOrderCount[52] ?? 0; // 输出3 echo $productOrderCount[49] ?? 0; // 输出3
内容的提问来源于stack exchange,提问作者Vaibhav Vatsa
相关产品推荐
相关产品推荐

