怎么用笛卡爾積實(shí)現(xiàn)php與sku組合

本篇內(nèi)容主要講解“怎么用笛卡爾積實(shí)現(xiàn)php與sku組合”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“怎么用笛卡爾積實(shí)現(xiàn)php與sku組合”吧!

成都創(chuàng)新互聯(lián)一直秉承“誠(chéng)信做人,踏實(shí)做事”的原則,不欺瞞客戶,是我們最起碼的底線! 以服務(wù)為基礎(chǔ),以質(zhì)量求生存,以技術(shù)求發(fā)展,成交一個(gè)客戶多一個(gè)朋友!為您提供成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、成都網(wǎng)頁(yè)設(shè)計(jì)、成都微信小程序、成都網(wǎng)站開(kāi)發(fā)、成都網(wǎng)站制作、成都軟件開(kāi)發(fā)、APP應(yīng)用開(kāi)發(fā)是成都本地專(zhuān)業(yè)的網(wǎng)站建設(shè)和網(wǎng)站設(shè)計(jì)公司,等你一起來(lái)見(jiàn)證!

可以使用笛卡爾積來(lái)實(shí)現(xiàn) sku 的組合。假設(shè)有三個(gè)數(shù)組分別是顏色數(shù)組、尺寸數(shù)組和版本數(shù)組,可以先把它們組合成一個(gè)二維數(shù)組,然后再進(jìn)行笛卡爾積操作,最終得到 sku 數(shù)組。

示例代碼如下:

`// 顏色數(shù)組
$colors = array('紅色', '藍(lán)色', '綠色');
// 尺寸數(shù)組
$sizes = array('S', 'M', 'L');
// 版本數(shù)組
$versions = array('V1', 'V2', 'V3');

// 組合數(shù)組
$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數(shù)組
$skus = cartesianProduct($combinations);

// 輸出sku數(shù)組
print_r($skus);`

輸出結(jié)果如下:

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

到此,相信大家對(duì)“怎么用笛卡爾積實(shí)現(xiàn)php與sku組合”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

名稱欄目:怎么用笛卡爾積實(shí)現(xiàn)php與sku組合
文章位置:http://muchs.cn/article0/gcesio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、服務(wù)器托管、商城網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名