webmaster 发表于 2022-1-17 02:14:58

php生成字符串和数组形式的商品sku

//生成的是字符拼接出来的sku
function Skujson($data){
    $len = count($data);
    for ($i = 0; $i< $len-1; $i++) {
      if ($i === 0) {
            // 数组第一个值
            $result = $data;
      }
      $temp = [];
      // 数组第一个值和第二个值组合
      foreach ($result as $res) {
            //数组第二个值...$i+1
            foreach($data[$i+1] as $sec){
                $temp[] = $res . '-' . $sec;
            }
            $result = $temp;
      }
    }
    return $result;
}

//生成的是数组形式的sku
function Skuarray($data){
    $len = count($data);
    // 取第一个集合数组值
    $result = $data;
    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 = Skujson($data);
print_r($result); //   白色-64G-移动-国行

$result = Skuarray($data);
print_r($result); //   [[白色],,[移动],[国行]]

页: [1]
查看完整版本: php生成字符串和数组形式的商品sku