首页 > 编程语言 >php批量生成商品规格参数sku

php批量生成商品规格参数sku

时间:2022-11-28 11:11:48浏览次数:48  
标签:sku 批量 生成 规格 参数 php

  1.生成字符串

<?php

function Cartesian($data){
    $len = count($data);

    for ($i = 0; $i< $len-1; $i++) {
        if ($i === 0) {
            // 数组第一个值
            $result = $data[0];
        }

        $temp = [];
        // 数组第一个值和第二个值组合
        foreach ($result as $res) {
            //数组第二个值...$i+1
            foreach($data[$i+1] as $sec){
                $temp[] = $res . '-' . $sec;
            }
            $result = $temp;
        }
    }

    return $result;
}

//需要计算的数组
$data = array(
 array('白色','银色','玫瑰金'),
 array('64G','128G'),
 array('移动','电信','联通'),
 array('国行','港版')
);

//打印结果
$result = Cartesian($data);
print_r($result);
?>

  2.数组格式

<?php


function Cartesian($data){
    $len = count($data);

    // 取第一个集合数组值
    $result = $data[0];
    for ($i = 0; $i< $len-1; $i++) {
        $arr1 = $result;
        $result = [];
        // 数组第一个值和第二个值组合
        foreach ($arr1 as $res) {
            //数组第二个值...$i+1
            foreach($data[$i+1] as $sec){ 
                if(!is_array($res)) {
                    $res = array($res);
                }
                if(!is_array($sec)){
                    $sec = array($sec);
                }
                $result[] = array_merge_recursive($res,$sec);
            }
        }

    }

    return $result;
}


//需要计算的数组
$data = array(
 array('白色','银色','玫瑰金'),
 array('64G','128G'),
 array('移动','电信','联通'),
 array('国行','港版')
);

//打印结果
$result = Cartesian($data);
print_r($result);

?>

  copy by 公众号:PHP自学中心

标签:sku,批量,生成,规格,参数,php
From: https://www.cnblogs.com/wutianfei/p/16931665.html

相关文章

  • Windows系统下PhpStorm+Xdebug安装与调试
    环境说明:系统:Windows10PhpStorm:2019.3.2PHP版本:7.3.21Xdebug版本 :2.7.2一、Xdebug介绍官网地址:https://xdebug.org/1.1什么是XdebugXdebug是一个开放源代码的......
  • 显示本机IP并判断IP地址,批量创建用户,安装nginx服务并启动
    题目:完成一个shell脚本,脚本的作用。1.运行脚本可以显示出本机的ip地址2.如果ip地址中有3这个数字,那么就打印出当前的系统时间3.如果ip地址中不含3这个数字,就批量建立用......
  • thinkphp 多条件查询
    根据以上对照表写对应数组条件,组合查询即可。注意:图中neq和SQL中的isnotnull是不同的,array(‘neq’,‘null’)的话是要报错误的;eq同理......
  • Centos7 yum 安装php74
    1.安装remi扩展源remi源是Remirepository是包含最新版本PHP和MySQL包的Linux源,由Remi提供维护。有个这个源之后,使用YUM安装或更新PHP、MySQL、phpMy......
  • 本地JS文件批量压缩
    最近在维护一个小后台项目,有段JS需要压缩上传到CDN存储服务器。由于之前压缩的JS文件都比较少,都是手动压缩的。这次需要压缩的文件比较多,所以用了批量压缩。特此记录一下......
  • php推送百度mip链接
    <?php_GET['dm'];_GET['token'];length=5){$str='';$strPol="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz";strPol)-1;for($i=0;$i<$......
  • strcmp绕过/漏洞 PHP5.3之前版本
    待补充1111111111111111111111111111111111111111111pache中的.htaccess.htaccess是什么?全称是HypertextAccess(超文本入口).htaccess文件也被成为分布式配置文件,提供......
  • 对dedecms、php168,phpcms、VeryCMS、DiyPage五款开源整站系统的简单评点(
    随着phpcms的开源,目前国内的开源整站系统(cms),已经有了三款功能比较强大的软件:dedecms、php168,phpcms,另外还有一个半吊子成品VeryCMS和一个起步中的DiyPage,这对站长来说,真是个......
  • Java使用Pipeline对Redis批量读写(hmset&hgetall)
    一般情况下,RedisClient端发出一个请求后,通常会阻塞并等待Redis服务端处理,Redis服务端处理完后请求命令后会将结果通过响应报文返回给Client。这有点类似于HBase的Scan,通常......
  • php不同运行模式(sapi)下清空内存缓冲池提前返回结果的实现
    if(PHP_SAPI=='cgi-fcgi'){echo$response;fastcgi_finish_request();}elseif(PHP_SAPI=='apache2handler'){header("Connection:cl......