Php 如何添加数组并复制到内部

Php 如何添加数组并复制到内部,php,Php,我有一个数组 $arr = Array ( [0] => Array ( ["PID"] => "1" ["QTY"] => "2" ) [1] => Array ( ["PID"] => "2" ["QTY"] => "2" ) [2] => Array ( ["PID"] => "3" ["QTY"] => "3" ) [3] => Array ( ["PID"] => "4" ["QTY"] => "1" )

我有一个数组

$arr = Array ( 
[0] => Array ( ["PID"] => "1" ["QTY"] => "2" ) 
[1] => Array ( ["PID"] => "2" ["QTY"] => "2" ) 
[2] => Array ( ["PID"] => "3" ["QTY"] => "3" ) 
[3] => Array ( ["PID"] => "4" ["QTY"] => "1" ) 
[4] => Array ( ["PID"] => "5" ["QTY"] => "1" ) 
)
需要像下面这样的输出添加
-
以复制阵列,具有2个或更多数量

$arr =  Array ( 
[0] => Array ( ["PID"] => "1" ["QTY"] => "2" ) .
[1] => Array ( ["PID"] => "1" ["QTY"] => "-" ) 
[2] => Array ( ["PID"] => "2" ["QTY"] => "2" ) 
[3] => Array ( ["PID"] => "2" ["QTY"] => "-" ) 
[4] => Array ( ["PID"] => "3" ["QTY"] => "3" ) 
[5] => Array ( ["PID"] => "3" ["QTY"] => "-" ) 
[6] => Array ( ["PID"] => "3" ["QTY"] => "-" ) 
[7] => Array ( ["PID"] => "4" ["QTY"] => "1" ) 
[8] => Array ( ["PID"] => "5" ["QTY"] => "1" ) 
)

谢谢你的帮助

我想您可能需要这个功能-阵列拼接。您可以在任意索引处向数组插入元素。

您可以迭代原始数组中的每个元素,根据原始数组中的数量将元素添加到输出数组中:

$out = array();
foreach ($arr as $a) {
    for ($i = 1; $i <= $a['QTY']; $i++) {
        $out[] = array('PID' => $a['PID'], 'QTY' => $i == 1 ? $a['QTY'] : '-');
    }
}
print_r($out);
$out=array();
foreach($arr作为$a){
对于($i=1;$i$a['PID'],'QTY'=>$i==1?$a['QTY']:'-');
}
}
打印(输出);

先生,多做点。@Direak别担心。我很高兴能帮上忙。