为了账号安全,请及时绑定邮箱和手机立即绑定

根据列值创建重复数组

根据列值创建重复数组

PHP
富国沪深 2023-08-19 17:54:01
我有以下数组,数组中第一项的数量为 3,其余的数量为 1。这些数字是动态的。Array(    [0] => Array        (            [id] => 39235995            [quantity] => 3            [price] => 2.81        )    [1] => Array        (            [id] => 39236029            [quantity] => 1            [price] => 2.952        )    [2] => Array        (            [id] => 39236015            [quantity] => 1            [price] => 3.333        )    [3] => Array        (            [id] => 39235997            [quantity] => 1            [price] => 2.667        ))我怎样才能将其更改为以下输出?那么第一个数量为 3 的项目现在被分为 3 个数组项目,并且每个项目的数量设置为一个?Array(    [0] => Array        (            [id] => 39235995            [quantity] => 1            [price] => 2.81        )    [1] => Array        (            [id] => 39235995            [quantity] => 1            [price] => 2.81        )    [2] => Array        (            [id] => 39235995            [quantity] => 1            [price] => 2.81        )            [3] => Array        (            [id] => 39236029            [quantity] => 1            [price] => 2.952        )    [4] => Array        (            [id] => 39236015            [quantity] => 1            [price] => 3.333        )    [5] => Array        (            [id] => 39235997            [quantity] => 1            [price] => 2.667        ))
查看完整描述

1 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

您可以循环原始 arr 并将内容推送到第二个数组。如果数量 > 1,您可以创建一个循环来推送每个数量的项目。像这样的东西:


    $resultArr = [];

    foreach($arrA as $item){

        for($i = 0; $i < $item['quantity']; $i++){

            // make sure the quantity is now 1 and not the original > 1 value

            $t = $item;

            $t['quantity'] = 1;

            $resultArr[] = $t;

        }

    }

请注意,代码期望您的原始数组被称为 $arrA

查看完整回答
反对 回复 2023-08-19
  • 1 回答
  • 0 关注
  • 104 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号