【发布时间】:2016-07-26 17:38:10
【问题描述】:
我有像下面这样的多维数组,
$product = array(
"2e471a22b1b994a7cb3f3a40cee9fba2" => array (
"product" => 6004,
"unique_key" => 3a8a5cb029ee3b92cfc90de23e2329ab,
"product_id" => 51,
"line_total"=>99,
"quantity"=>1,
"data"=> array(
"id"=> 51,
"post"=>array(
"ID"=>51,
"post_title"=>"Prodcut four - control",
),
"price"=>99
)
),
"a7d0f813832ec8a2bf24269ff7145d0c" => array (
"product" => 6004,
"unique_key" => c30d1ca26d30aa3dc3c9aa04f0b585ce,
"product_id" => 51,
"line_total"=>99,
"quantity"=>1,
"data"=> array(
"id"=> 51,
"post"=>array(
"ID"=>51,
"post_title"=>"Prodcut four - control",
),
"price"=>99
)
)
);
需要根据 'product_id' 数组值删除重复值,并根据产品数量增加数量值。 注意:上述数组也有“唯一键”,因此数组结果中需要任何单个唯一键。
Expected Result should be:
$resultproduct = array(
"2e471a22b1b994a7cb3f3a40cee9fba2" => array (
"product" => 6004,
"unique_key" => 3a8a5cb029ee3b92cfc90de23e2329ab,
"product_id" => 51,
"line_total"=>99,
"quantity"=>2,
"data"=> array(
"id"=> 51,
"post"=>array(
"ID"=>51,
"post_title"=>"Prodcut four - control",
),
"price"=>99
)
));
【问题讨论】:
-
在 foreach 中循环产品数组,然后按照您喜欢的方式构建数组结构,如果您找到相同的产品 ID,则递增计数器
-
嘿 Ramkumar,数据来自哪里?
-
@MangeshSatheIND 也需要删除重复值,所有产品都有唯一键,所以 array_unique 不起作用。
-
@SyedMohamedAladeen 在上面的数组中,所有产品都有唯一的键,所以 array_unique 不起作用。您给出的链接在数组索引中的所有值都是相同的,但它在我的数组中不起作用,因为所有数组索引都有不同的唯一键。
标签: php arrays multidimensional-array array-unique