php 数组中相同值的组成新的数组

<?php
	//原数组
	$arr = [
	    ['product_id'=>33, 'seller_id'=>8],
	    ['product_id'=>32, 'seller_id'=>7],
	    ['product_id'=>31, 'seller_id'=>6],
	    ['product_id'=>33, 'seller_id'=>5],
	    ['product_id'=>33, 'seller_id'=>8],
	];
	
	$p = [];
	$pp = [];
	if(!empty($arr)){
		//结果1
	    foreach($arr as $v){
	        isset($p[$v['product_id']]) || $p[$v['product_id']] = []; 
	        $p[$v['product_id']][] = $v['seller_id'];
	        $pp[$v['product_id']] .= $v['seller_id'].',';
	    }
	    
	    //结果2
	    foreach($pp as &$v1){
	        $v1 = trim($v1, ',');
	    }
	}
	
	//打印输出分别为
	//打印1
	echo '<pre>';
	print_r($p);
	echo '</pre>';
	//输出1
	Array
	(
	    [33] => Array
	    (
            [0] => 8
            [1] => 5
            [2] => 8
        )
        
	    [32] => Array
        (
            [0] => 7
        )
	
	    [31] => Array
        (
            [0] => 6
        )
	)
	
	//打印2
	echo '<pre>';
	print_r($pp);
	echo '</pre>';
	//输出2
	Array
	(
	    [33] => 8,5,8
	    [32] => 7
	    [31] => 6
	)
?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值