为了账号安全,请及时绑定邮箱和手机立即绑定

php如何多维数组去重,根据变量值组合商品属性?

php如何多维数组去重,根据变量值组合商品属性?

PHP
朝花昔时 2017-11-25 10:16:09
<?php /*  *多维数组去重,根据变量值组合商品属性。  *数组字段:dim维度,dimName维度名称,sku(value商品属性,shopid商品id)  *假若,变量$shopid = 101;为当前商品id,则希望组合为  *1、所有的维度去重  *2、保留当前商品的颜色属性,就是说樱语粉的商品id是101,另外几个颜色任意保留其中一个。  *   下面两个维度,保留颜色是樱语粉的属性。  ***----------------------------------***  **颜色 : 樱语粉(101)  珠光白  魅海蓝  流光金  **版本 : 64GB(101)    32GB(105)  **套装 :  官方标配(101)   特别版(102)  ***----------------------------------***  *求大神帮忙解答!!!  */ $arr = array(     '1' => array(         'dim' => 1,         'dimName' => '颜色',         'sku' => array( '0' => Array('value' => '樱语粉','shopid' => 101), '1' => Array('value' => '樱语粉','shopid' => 102), '2' => Array('value' => '珠光白','shopid' => 103), '3' => Array('value' => '魅海蓝','shopid' => 104), '4' => Array('value' => '樱语粉','shopid' => 105), '5' => Array('value' => '流光金','shopid' => 106), '6' => Array('value' => '流光金','shopid' => 107), '7' => Array('value' => '魅海蓝','shopid' => 108)               )     ),     '2' => Array( 'dim' => 2, 'dimName' => '版本', 'sku' => Array( '0' => Array('value' => '64GB','shopid' => 101), '1' => Array('value' => '64GB','shopid' => 102), '2' => Array('value' => '64GB','shopid' => 103), '3' => Array('value' => '32GB','shopid' => 104), '4' => Array('value' => '32GB','shopid' => 105), '5' => Array('value' => '32GB','shopid' => 106), '6' => Array('value' => '64GB','shopid' => 107), '7' => Array('value' => '64GB','shopid' => 108) ) ),     '3' => Array( 'dim' => 3, 'dimName' => '套装', 'sku' => Array( '0' => Array('value' => '官方标配','shopid' => 101), '1' => Array('value' => '特别版','shopid' => 102), '2' => Array('value' => '官方标配','shopid' => 103), '3' => Array('value' => '官方标配','shopid' => 104), '4' => Array('value' => '官方标配','shopid' => 105), '5' => Array('value' => '官方标配','shopid' => 106), '6' => Array('value' => '官方标配','shopid' => 107), '7' => Array('value' => '官方标配','shopid' => 108) ) ) );
查看完整描述

1 回答

?
pardon110

TA贡献1038条经验 获得超227个赞

function uni($arr){
    $tmp = Array();
    foreach(end($arr) as $v){
        array_push($tmp,current($v));
        continue; 
    }
    return array_unique($a);
}
$narr = array_map('uni',$arr);
print_r($narr);

去重,保留属性

查看完整回答
反对 回复 2017-11-30
  • 1 回答
  • 0 关注
  • 1159 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号