我有以下數(shù)組,數(shù)組中第一項(xiàng)的數(shù)量為 3,其余的數(shù)量為 1。這些數(shù)字是動態(tài)的。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 ))我怎樣才能將其更改為以下輸出?那么第一個數(shù)量為 3 的項(xiàng)目現(xiàn)在被分為 3 個數(shù)組項(xiàng)目,并且每個項(xiàng)目的數(shù)量設(shè)置為一個?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貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個贊
您可以循環(huán)原始 arr 并將內(nèi)容推送到第二個數(shù)組。如果數(shù)量 > 1,您可以創(chuàng)建一個循環(huán)來推送每個數(shù)量的項(xiàng)目。像這樣的東西:
? ? $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;
? ? ? ? }
? ? }
請注意,代碼期望您的原始數(shù)組被稱為 $arrA
- 1 回答
- 0 關(guān)注
- 124 瀏覽
添加回答
舉報
0/150
提交
取消