sku过滤,判断提交过来的sku和完成sku数组比对

sku过滤,判断提交过来的sku和完成sku数组比对,如:

提交的SKU:array(array(红,XL),array(黄,L,X), array(a1,a2,a3,a4),);

完整的SKU:array(array(a1,a2,a3,a4), array(b1,b2,b3,b4), array(c1,c2,c3,c4), array(d1,d2,d3,d4));

$arr	= array(
	array(11,12),
	array(21,22),
	array(31,32)
);
fun($arr);
//print_r($res);


$brr	= array(array(11,22,31,33), array(11,25), array(11,25), array(11,22,32));


//过滤重复值(array_unique不支持二维数组)
$a			= array();
$brrn		= array();
foreach($brr as $v){
	$vn		= json_encode($v);
	if(in_array($vn, $a)) continue;
	$a[]	= $vn;
	$brrn[] = $v;
}

print_r($brrn);


//过滤提交过来的sku
$nrr	= array();//提交的sku
foreach($brrn as $v){
	if(in_array($v, $res)){
		$nrr[]  = $v;
	}
}
if(!$nrr) exit('请至少选择1个完整维度的SKU');
print_r($nrr);


function fun($arr, $tmp = array())
{
	foreach(array_shift($arr) AS $v)
	{
		$tmp[]	= $v;
		if($arr)
		{
			fun($arr, $tmp);
		}
		else
		{
			$GLOBALS["res"][]	= $tmp;
		}
		array_pop($tmp);
	}
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值