亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

根據列值創建重復數組

根據列值創建重復數組

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 關注
  • 126 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號