Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Gabungan php dan sku dilaksanakan menggunakan produk Cartesian!

Gabungan php dan sku dilaksanakan menggunakan produk Cartesian!

藏色散人
藏色散人ke hadapan
2023-04-17 15:43:521462semak imbas

Artikel ini membawakan anda pengetahuan yang berkaitan tentang php dan sku Ia terutamanya memperkenalkan bagaimana php menjalankan operasi produk Cartesian untuk mendapatkan susunan sku. Rakan-rakan yang berminat boleh lihat di bawah.

Gabungan php dan sku dilaksanakan menggunakan produk Cartesian!

Anda boleh menggunakan produk Cartesian untuk mencapai gabungan sku. Katakan terdapat tiga tatasusunan, iaitu tatasusunan warna, tatasusunan saiz dan tatasusunan versi Anda boleh mula-mula menggabungkannya menjadi tatasusunan dua dimensi, dan kemudian melakukan operasi produk Cartesian untuk mendapatkan tatasusunan sku.

Kod sampel adalah seperti berikut:

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

Hasil output adalah seperti berikut:

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

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Gabungan php dan sku dilaksanakan menggunakan produk Cartesian!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:learnku.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam