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);
}
}