根据键匹配筛选两个多维数组,但每个数组都有不同的结构 - 输出到新的合并数组


Filter two multidimensional arrays based on key matches, but each array has different structure - Output to new merged array

我正在尝试仅提取与特定字段匹配的数组项目,然后我需要将两者合并为一个仅包含所需数据的数组。

我有两个数组,它们的结构如下所示。只有数组 #1 的CATEGORY_ID与数组 #2 的键匹配的 product_count 秒才应该是输出。

数组 #1: - 数组 #1 的许多CATEGORY_IDs将不存在于数组 #2 键字段中。

    0 => Array (4)
      0 => 3
      CATEGORY_ID => 10
      1 => 1
      product_count => 8
    1 => Array (4)
      0 => 4
      CATEGORY_ID => 111
      1 => 6
      product_count => 109
    ...

数组 #2:

    10 => Category Name 1
    110 => Category Name 2
    8 =>  Category Name 3
    109 =>  Category Name 4
    111 =>  Category Name 5
    3 =>  Category Name 6
    132 =>  Category Name 7
   ...

最终输出应该看起来像这样:我可能做错了,所以我愿意接受任何建议。

    10 =>   [0] => Category Name 1
            [1] => 8 // product_count
    111 =>  [0] => Category Name 5
            [1] => 109 // product_count
    ...

我正在运行一个foreach((来提取每个类别的产品计数。如您所见,我的两个数组通过数据反映了这一点。

我相信

你必须做一个foreach循环:

$new_array = array();
foreach($array1 as $part) {
    $new_array[$part["CATEGORY_ID"]] = array( $array2[$part["CATEGORY_ID"]], $part["product_count"] );
}

我想我明白了你想要的要点。 我认为也没有一个实际的PHP函数可以做你想做的事情。