Maison > développement back-end > tutoriel php > 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 !

藏色散人
Libérer: 2023-04-17 15:44:02
avant
1563 Les gens l'ont consulté

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);`
Copier après la connexion

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
        (
            [颜色] => 红色
            [尺寸] =>
            ...
Copier après la connexion

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!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal