多维数组的排列组合(商品多规格)算法[PHP]

 count($tmp,COUNT_RECURSIVE)){
            $invalideParam = true;
            break;
        }
        /**
         * 原始数组的循环
         * array(
         *      0 =>1,
         *      1 =>2,
         *      2 =>3,
         * );
         */
        // 目标数组的临时变量
        $targetTmp = array();
        foreach($target as $value){
            foreach($tmp as $v){
                // 临时数组变量
                $targetTmp[] = array_merge((array)$value,[$v]);
            }
        }
        // 原始数组的替换
        $target = $targetTmp;
        // 移动数组的下一个元素
        $tmp = array_shift($orignal);
    }
    // 存在非一维数组项
    if($invalideParam){
        return [];
    }
    // 返回结果集
    return is_array($target)?$target:[];
}

你可能感兴趣的:(多维数组的排列组合(商品多规格)算法[PHP])