array_push 到多维数组 if array_key_exists

array_push to a multidimensional array if array_key_exists

我正在从现有数组 ($newarray) 创建一个新数组 ($Parts),然后对该数组重新排序。但是,如果新数组中存在数组键,我想附加到 'location' 和 'qty' 数组。 新数组结构如下所示:

     '4117-0171-249' => 
          'pri_id' => '859'
          'vendor' => 'R01298'
          'score' =>  '0.00'
          'location' => 
                 0 =>  '10103'
           'qty' => 
                 0 =>  '70' 

这是我正在使用的代码。

$Parts = array();
foreach($newarray AS $Ke => $Va) {
    if(array_key_exists($Va['part_number'], $Parts)){
         array_push($Parts[$location][],$Va['location']);
    } else {
    $Parts[$Va['part_number']] = array('pri_id' => $Va['pri_id'],
                                       'vendor' => $Va['vendor'],
                                       'score' => $Va['Score'],
                                          'location' => array($Va['location']),
                                          'qty' => array($Va['qty']),
                                        );
    }
 }

如果以后有人偶然发现这个问题,答案是:

$Parts[$Va['part_number']]['location'][] = $Va['location'];