根据列值创建重复的数组

时间:2020-07-23 14:57:27

标签: php

我有以下数组,该数组的第一项的数量为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 个答案:

答案 0 :(得分:2)

您可以循环遍历原始arr并将内容推入第二个数组。如果数量> 1,则可以创建一个循环,为每个数量推送项目。像这样:

if/else

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

编辑:按照评论中的建议删除了{{1}}