问题场景:用户在购物下单的时候购买了多个商品。
问题描述:
一般这样订单会分为两个表, 主表 订单信息及支付、地址、用户信息 副表 购买的商品信息 主表的ID去关联副表 关系为一对多。
在PHP里一般会先插入主表产生ID,然后再循环购买的商品信息再一条条数据入库。
那么问题来了,如果可以将ID直接压入商品信息数据,然后直接批量插入?
示例数组
//主表订单产生的ID
$odiArr = array('oid' => 12);
//副表购买的信息
$product = array(
array('product_name'=> '产品一号', 'price' => 99.8),
array('product_name'=> '产品二号', 'price' => 9.8),
array('product_name'=> '产品三号', 'price' => 12.8),
);
//最后想要得到的结果
$order = array(
array('product_name'=> '产品一号', 'price' => 99.8, 'oid' => 12),
array('product_name'=> '产品二号', 'price' => 9.8, 'oid' => 12),
array('product_name'=> '产品三号', 'price' => 12.8, 'oid' => 12),
);
这儿是我自己写的一个方法
Q1:那么php本身有这样的函数么?为二维数组增加一个单元?
Q2:有没有更高率,更严瑾的写法?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
public function test()
{
}
估计这个方法你也想到了,目前没想到别的,有空想想
php里没有这样直接给每个数组单元加元素的函数。
更加优雅点的写法可以省掉3个函数调用:
循环array_merge 不久可以了么