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

)

相关推荐
Highcharts.js21 小时前
教程:基于 React + Highcharts 构建一个单页应用程序、按需数据拉取与图表渲染
开发语言·前端·数据结构·react.js·前端框架·highcharts·页面应用
头发还在的女程序员1 天前
医院陪诊管理系统怎么选择?——2026 年选型避坑与架构参考
java·开发语言·陪诊系统·陪诊app·医院陪诊陪护
xingxiliang1 天前
深入浅出 Android CTS 视频测试:从环境搭建、用例设计到底层通信原理
android·音视频
我命由我123451 天前
Android 开发问题:为 PDFView 设置一个带有黑色边框的背景 drawable,但边框没有生效
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
爱写代码的小朋友1 天前
从零开始学 Win32 API:C++ 窗口编程实战(VS Code + MinGW-w64 命令行详解)
开发语言·c++
果汁华1 天前
Function Calling 与 Python 实战完整指南
开发语言·网络·python
小小晓.1 天前
C++:语句和作用域
开发语言·c++
雨白1 天前
深入理解 Kotlin 协程 (八):拾遗补阙,探秘官方框架的调度细节与取消闭环
android·kotlin
wanderist.1 天前
Lambda表达式在算法竞赛中的应用
java·开发语言·算法
海天鹰1 天前
PHP上传文件
android·开发语言·php