Heim  >  Artikel  >  Backend-Entwicklung  >  Die Kombination von PHP und SKU wird mithilfe eines kartesischen Produkts implementiert!

Die Kombination von PHP und SKU wird mithilfe eines kartesischen Produkts implementiert!

藏色散人
藏色散人nach vorne
2023-04-17 15:43:521462Durchsuche

Dieser Artikel vermittelt Ihnen relevantes Wissen über PHP und SKU. Er stellt hauptsächlich vor, wie PHP die kartesische Produktoperation durchführt, um das SKU-Array zu erhalten. Ich hoffe, dass es hilfreich ist Für Dich ist jeder hilfreich.

Die Kombination von PHP und SKU wird mithilfe eines kartesischen Produkts implementiert!

Sie können das kartesische Produkt verwenden, um die SKU-Kombination zu erreichen. Angenommen, es gibt drei Arrays, nämlich das Farbarray, das Größenarray und das Versionsarray. Sie können sie zunächst zu einem zweidimensionalen Array kombinieren und dann eine kartesische Produktoperation ausführen, um schließlich das SKU-Array zu erhalten.

Der Beispielcode lautet wie folgt:

`// 颜色数组
$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);`

Das Ausgabeergebnis lautet wie folgt:

`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
        (
            [颜色] => 红色
            [尺寸] =>
            ...

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonDie Kombination von PHP und SKU wird mithilfe eines kartesischen Produkts implementiert!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen