php 数组拼接

productSkuInfos => Array

(

0 => Array

(

amountOnSale => 501341

price => 16.8

skuId => 4540975571942

specId => 5e0c897d02565f8eaf273e9840416541

skuAttributes => Array

(

0 => Array

(

attributeId => 3216

attributeName => 颜色

attributeNameTrans => Color

value => 白色

valueTrans => White

skuImageUrl => https://cbu01.alicdn.com/img/ibank/15729264445_698533042.jpg

)

1 => Array

(

attributeId => 100019113

attributeName => 适合身高

attributeNameTrans => Suitable for height

value => 100cm

valueTrans => 100cm

)

)

consignPrice => 16.8

cargoNumber =>

)

1 => Array

(

amountOnSale => 501103

price => 16.8

skuId => 4540975571936

specId => ff10fd0c1265de74343573a7c0ac421a

skuAttributes => Array

(

0 => Array

(

attributeId => 3216

attributeName => 颜色

attributeNameTrans => Color

value => 白色

valueTrans => White

skuImageUrl => https://cbu01.alicdn.com/img/ibank/15729264445_698533042.jpg

)

1 => Array

(

attributeId => 100019113

attributeName => 适合身高

attributeNameTrans => Suitable for height

value => 110(95-105cm)

valueTrans => 110(95-105cm)

)

)

consignPrice => 16.8

cargoNumber =>

)

想拼接一个颜色对应下面多个尺码和价格库存

复制代码
foreach ($data as $k=>$item) {
    $color = '';
    $size = '';
    $newArray = [];
    foreach ($item['skuAttributes'] as $attribute) {
        if ($attribute['attributeName'] === '颜色') {
            $color = $attribute['value'];
        } elseif ($attribute['attributeName'] === '适合身高') {
            $size = $attribute['value'];
            $amountOnSale = $item['amountOnSale'];
            $price = $item['price'];
            $specId = $item['specId'];
        }
    }


    if (!empty($color)) {
        $colorSizeArray[$color][] = ['name_ch'=>$size,'amountOnSale'=>$amountOnSale,'consignPrice'=>$price,'specId'=>$specId];
    }
}
print_r($colorSizeArray);die;

得到结果:

Array

(

白色 => Array

(

0 => Array

(

name_ch => 100cm

amountOnSale => 501341

consignPrice => 16.8

specId => 5e0c897d02565f8eaf273e9840416541

)

1 => Array

(

name_ch => 110(95-105cm)

amountOnSale => 501103

consignPrice => 16.8

specId => ff10fd0c1265de74343573a7c0ac421a

)

2 => Array

(

name_ch => 120(105-115cm)

amountOnSale => 496830

consignPrice => 16.8

specId => 4b819458d033fae169bd09c85d09dd7b

)

3 => Array

(

name_ch => 130(115-125cm)

amountOnSale => 500664

consignPrice => 16.8

specId => a76e282dfeb129c9e1da9374d8991693

)

4 => Array

(

name_ch => 140(125-135cm)

amountOnSale => 501644

consignPrice => 16.8

specId => 1d71f184a783632ff0d65afe8718dddf

)

5 => Array

(

name_ch => 150(135-145cm)

amountOnSale => 499348

consignPrice => 16.8

specId => c2eca91e89d595b1d3b88e0b638509aa

)

6 => Array

(

name_ch => 160(145-155cm)

amountOnSale => 500378

consignPrice => 16.8

specId => 856a65d84878de75f2293c84567abd0b

)

7 => Array

(

name_ch => L(长度80cm)

amountOnSale => 519380

consignPrice => 23.0

specId => ede0021438e706260e3539e6996c96d7

)

8 => Array

(

name_ch => XL(长度102cm)

amountOnSale => 499499

consignPrice => 25.0

specId => 1130e550943b38dcc81c14eab0412eaa

)

相关推荐
LDR0063 小时前
Type-C 快充全面升级!LDR6601 赋能个人护理便携电机,重塑剃须刀 / 理发器新体验
c语言·开发语言
雪碧聊技术3 小时前
Tree.js是什么?一文讲透
开发语言·javascript·ecmascript
码云数智-园园3 小时前
C++20 Modules 模块详解
java·开发语言·spring
swordbob4 小时前
NIO的channel中什么是 fd(File Descriptor,文件描述符)
java·开发语言·nio
源分享4 小时前
Java线程同步的多种实现方法(非常详细)
java·开发语言·jvm
Luminous.4 小时前
C语言--day30
c语言·开发语言
何以解忧,唯有..5 小时前
Go语言循环语句详解:for、range与循环控制
开发语言·算法·golang
謓泽5 小时前
C语言不是语法,是通往机器的地图。
c语言·开发语言
云水一下5 小时前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
飞天狗1115 小时前
零基础JavaWeb入门——第五课第二小节:九大内置对象 · 第2个:response(响应对象)
java·开发语言