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

)

相关推荐
叶辞树10 分钟前
Android CLI
android
mqiqe2 小时前
线程调度与 Schedulers:Project Reactor 并发模型的核心引擎
java·开发语言·网络
我命由我123453 小时前
Android 开发问题:unexpected element <service> found in <manifest>
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
程思扬3 小时前
Android ANR实战排查:主线程SystemClock.sleep导致页面启动偶现无响应
android·笔记
码农coding3 小时前
android12 InputManagerService分析之输入事件如何回到应用层
android
zhangguojia73 小时前
从一个窗口覆盖问题出发,理解 Android Window 的层级与权限
android
xixiaoyunya4 小时前
JavaScript 异步编程全解析:从回调地狱到 async/await 的演进之路
开发语言·javascript·ecmascript
精英的英4 小时前
记一次 Qt5 Language Server 开发
开发语言·vscode·qt
烧酒同学4 小时前
【C++】记录size of std::vector的巧妙坑
开发语言·c++·图形渲染
周周哈哈哈4 小时前
线程创建、执行、退出、回收
java·开发语言