我下面的会话数组存储购物车的物品:PHP会话阵列添加元素,如果同一ID
的print_r($ _ SESSION [ '项目']):
Array
(
[0] => Array
(
[p_name] => Product A
[p_price] => 13.90
[p_seller] => 2001
)
[1] => Array
(
[p_name] => Product B
[p_price] => 2.00
[p_seller] => 2002
)
[2] => Array
(
[p_name] => Product C
[p_price] => 1.20
[p_seller] => 2002
)
[3] => Array
(
[p_name] => Product D
[p_price] => 50.00
[p_seller] => 2001
)
)
我有一个循环从DB调用额外的数据:
while($res = $shipment->fetch_object()){
$seller_id = $res->seller;
$shipment_cost = $res->shipment_fee;
//array_push($_SESSION['items']['p_fee'], $shipment_cost);
}
让说,在一个循环中,我得到以下数据:
$ seller_id = 2001; $ shipment_cost = 5.00
$ seller_id = 2002; $ shipment_cost = 3.00
我要分配并用名称['p_fee']
添加一个额外的元件到其相应的组['p_seller']
如果$ seller_id(2001)== [ 'p_seller'] ---> array_push($ _ SESSION ['items'] ['p_fee'],'5.00')}
if $ seller_id(2002)== ['p_seller'] ---> array_push($ _ SESSION ['items']] ['p_fee'],'3.00')}
可以做到这一点吗?
的$_SESSION['items']
最后可能包含如下内容:
Array
(
[0] => Array
(
[p_name] => Product A
[p_price] => 13.90
[p_seller] => 2001
[p_fee] => 5.00
)
[1] => Array
(
[p_name] => Product B
[p_price] => 2.00
[p_seller] => 2002
[p_fee] => 3.00
)
[2] => Array
(
[p_name] => Product C
[p_price] => 1.20
[p_seller] => 2002
[p_fee] => 3.00
)
[3] => Array
(
[p_name] => Product D
[p_price] => 50.00
[p_seller] => 2001
[p_fee] => 5.00
)
)
这似乎是合乎逻辑的我修改2个查询我假设你正在运行从一个查询生成该数据。那么你不需要这样的小提琴 – RiggsFolly