Maison  >  Article  >  développement back-end  >  La combinaison de php et sku est implémentée à l'aide d'un produit cartésien !

La combinaison de php et sku est implémentée à l'aide d'un produit cartésien !

藏色散人
藏色散人avant
2023-04-17 15:43:521465parcourir

Cet article vous apporte des connaissances pertinentes sur php et sku. Il présente principalement comment php effectue les opérations du produit cartésien pour obtenir le tableau sku. Les amis intéressés peuvent y jeter un œil ci-dessous. pour vous. Tout le monde est utile.

La combinaison de php et sku est implémentée à l'aide d'un produit cartésien !

Vous pouvez utiliser un produit cartésien pour obtenir la combinaison de sku. Supposons qu'il existe trois tableaux, à savoir le tableau de couleurs, le tableau de tailles et le tableau de versions. Vous pouvez d'abord les combiner en un tableau bidimensionnel, puis effectuer une opération de produit cartésien pour finalement obtenir le tableau sku.

L'exemple de code est le suivant :

`// 颜色数组
$colors = array('红色', '蓝色', '绿色');
// 尺寸数组
$sizes = array('S', 'M', 'L');
// 版本数组
$versions = array('V1', 'V2', 'V3');

// 组合数组
$combinations = array();
foreach ($colors as $color) {
    foreach ($sizes as $size) {
        foreach ($versions as $version) {
            $combinations[] = array('颜色' => $color, '尺寸' => $size, '版本' => $version);
        }
    }
}

// 笛卡尔积操作
function cartesianProduct($arr) {
    $result = array();
    foreach ($arr as $key => $values) {
        if (empty($values)) {
            continue;
        }
        if (empty($result)) {
            foreach ($values as $value) {
                $result[] = array($key => $value);
            }
        } else {
            $append = array();
            foreach ($result as &$product) {
                $product[$key] = array_shift($values);
                $copy = $product;
                foreach ($values as $item) {
                    $copy[$key] = $item;
                    $append[] = $copy;
                }
                $values = array_values($values);
            }
            $result = array_merge($result, $append);
        }
    }
    return $result;
}

// 得到sku数组
$skus = cartesianProduct($combinations);

// 输出sku数组
print_r($skus);`

Le résultat de sortie est le suivant :

`Array
(
    [0] => Array
        (
            [颜色] => 红色
            [尺寸] => S
            [版本] => V1
        )

    [1] => Array
        (
            [颜色] => 红色
            [尺寸] => S
            [版本] => V2
        )

    [2] => Array
        (
            [颜色] => 红色
            [尺寸] => S
            [版本] => V3
        )

    [3] => Array
        (
            [颜色] => 红色
            [尺寸] => M
            [版本] => V1
        )

    [4] => Array
        (
            [颜色] => 红色
            [尺寸] => M
            [版本] => V2
        )

    [5] => Array
        (
            [颜色] => 红色
            [尺寸] => M
            [版本] => V3
        )

    [6] => Array
        (
            [颜色] => 红色
            [尺寸] => L
            [版本] => V1
        )

    [7] => Array
        (
            [颜色] => 红色
            [尺寸] =>
            ...

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer