关于数组的一些应用

本文介绍了一种批量处理数据库的方法,包括循环添加数据、解析特定字段如platform_goods_id,并进行数据验证等步骤。此外,还展示了如何处理国际站点的数据及如何在遇到API请求失败时进行异常处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

循环添加数据到数据库
$allnum = count($ret['data']);//总条数
$onenum = 20;//一次添加的条数
dd($ret['data']);
for($a=0;$a<$allnum;$a+=$onenum)
{
    $retall = array_slice($ret['data'],$a,$onenum);
    $res = $this->platGoodsBiz->add($retall,$endtime);
    if($res['errcode'] == 0)
    {
        Log::error('添加到数据库的次数1');
        continue;
    }
    else
    {
        dd('添加失败');
    }
}
 解析 platform_goods_id
$platform_goods_ids = function ($result_first) {
    foreach ($result_first['data'] as $k => $v) {
        yield $v['platform_goods_id'];
    }
};
foreach ($platform_goods_ids($ret) as $key => $value) {
    $data['platform_goods_id'][] = $value;
}
//排除相同的商品id
$res = $this->platGoodsBiz->getPlatGoodsIds($data['platform_goods_id']);
//添加获取的商品ID详细信息
for($i=0;$i<count($res['data']);$i++){
    $item_info = $this->getItem($res['data'][$i],$endtime);
    if($item_info){
        continue;
    }else{
        dd('添加数据时返回了错误');
    }
}

$site_international_data = array_map(function ($n) {
    return [
        'name' => $n['name'],
        'value' => json_decode($n['shipping_info'],true),
    ];
}, $site_international_data);

// 请求失败
if ($result['Ack'] == 'Failure') {
    $msg = "异常来源: {$function_name} \n";
    array_map(function ($n) use (&$msg) {
        $msg .= "异常信息: <" . $n['ShortMessage'] . "> \n";
    }, $result['Errors']);
    dump($result);
    throw new \Exception($msg, '200');
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值