【问题标题】:array_push to a multidimensional array if array_key_exists如果 array_key_exists 则 array_push 到多维数组
【发布时间】:2015-05-12 15:16:55
【问题描述】:

我正在从现有数组 ($newarray) 创建一个新数组 ($Parts),并对数组重新排序。但是,如果新数组中存在数组键,我想追加到“位置”和“数量”数组。 新的数组结构如下所示:

     '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']),
                                        );
    }
 }

【问题讨论】:

  • array_push($Parts[$location][],$Va['location']) 没有意义。你要么做$Parts[$location][] = $Va['location']要么array_push($Parts[$location], $Va['location']),你不能混合这两种语法。

标签: php multidimensional-array array-key


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    • 2023-03-26
    • 2017-03-02
    • 2011-08-13
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多