<bdo id='nIIu6'></bdo><ul id='nIIu6'></ul>
<tfoot id='nIIu6'></tfoot>
<i id='nIIu6'><tr id='nIIu6'><dt id='nIIu6'><q id='nIIu6'><span id='nIIu6'><b id='nIIu6'><form id='nIIu6'><ins id='nIIu6'></ins><ul id='nIIu6'></ul><sub id='nIIu6'></sub></form><legend id='nIIu6'></legend><bdo id='nIIu6'><pre id='nIIu6'><center id='nIIu6'></center></pre></bdo></b><th id='nIIu6'></th></span></q></dt></tr></i><div id='nIIu6'><tfoot id='nIIu6'></tfoot><dl id='nIIu6'><fieldset id='nIIu6'></fieldset></dl></div>

  • <legend id='nIIu6'><style id='nIIu6'><dir id='nIIu6'><q id='nIIu6'></q></dir></style></legend>
    1. <small id='nIIu6'></small><noframes id='nIIu6'>

        如何将具有相同索引和值的 2 个数组与 php 组合?

        时间:2023-10-16
        <i id='XfRZ5'><tr id='XfRZ5'><dt id='XfRZ5'><q id='XfRZ5'><span id='XfRZ5'><b id='XfRZ5'><form id='XfRZ5'><ins id='XfRZ5'></ins><ul id='XfRZ5'></ul><sub id='XfRZ5'></sub></form><legend id='XfRZ5'></legend><bdo id='XfRZ5'><pre id='XfRZ5'><center id='XfRZ5'></center></pre></bdo></b><th id='XfRZ5'></th></span></q></dt></tr></i><div id='XfRZ5'><tfoot id='XfRZ5'></tfoot><dl id='XfRZ5'><fieldset id='XfRZ5'></fieldset></dl></div>
        <legend id='XfRZ5'><style id='XfRZ5'><dir id='XfRZ5'><q id='XfRZ5'></q></dir></style></legend>
          <bdo id='XfRZ5'></bdo><ul id='XfRZ5'></ul>

          <small id='XfRZ5'></small><noframes id='XfRZ5'>

                  <tbody id='XfRZ5'></tbody>

                • <tfoot id='XfRZ5'></tfoot>
                • 本文介绍了如何将具有相同索引和值的 2 个数组与 php 组合?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我有 2 个数组,如下所示:

                  I have 2 array like follows:

                  $array1 = [
                   '0' => [
                     'no_invoice' => 'INV0001',
                     'product_code' => '1111111',
                    ], 
                   '1' => [
                    'no_invoice' => 'INV0001',
                    'product_code' => '1111112',
                   ]
                  ];
                  
                    $array2 = [
                      '0' => [
                        'product_code' => '1111112',
                        'free_valie' => 839,
                        'count' => 1240
                      ],
                    ];
                  

                  是否可以将上面的数组组合成这样:

                  Is it possible to combine arrays above to be like this:

                  Array(
                   [0] => Array
                    (
                      'no_invoice' => 'INV0001',
                      'product_code' => '1111111',
                    )
                   [1] => Array
                    (
                      'no_invoice' => 'INV0001',
                      'product_code' => '1111112',
                      'free_valie' => 839,
                      'count' => 1240
                    )
                  )
                  

                  所以,如果数组具有相同的产品代码,那么它将像上面的例子一样加入.

                  So, if array have same product code, then it will join like the example above.

                  我尝试过使用数组合并,array_merge($array1, $array2);但是结果是这样的:

                  I have been tried with use array merge, array_merge($array1, $array2); But the result is like this:

                  Array(
                   [0] => Array
                    (
                      'no_invoice' => 'INV0001',
                      'product_code' => '1111111',
                    )
                   [1] => Array
                    (
                      'no_invoice' => 'INV0001',
                      'product_code' => '1111112',
                    )
                   [2] => Array
                    (
                      'product_code' => '1111112',
                      'free_valie' => 839,
                      'count' => 1240
                    )
                  )
                  

                  推荐答案

                  此代码将满足您的需求.它使用 <遍历 $array1 中的每个值code>array_search 以查看条目的 product_code 是否也存在于 $array2 中(通过查看 product_code使用 array_column<提取的 $array2 列/代码>).如果是,则合并这些值.请注意,我们在 foreach 中使用了 &$val,导致值通过引用传递,从而允许在循环中修改它

                  This code will do what you want. It loops over each value in $array1, using array_search to see if the entrie's product_code is also present in $array2 (by looking through the product_code column of $array2 extracted using array_column). If it is, the values are merged. Note that we use &$val in the foreach, causing the value to be passed by reference which allows it to be modified in the loop

                  foreach ($array1 as &$val) {
                      if (($k = array_search($val['product_code'], array_column($array2, 'product_code'))) !== false) {
                          $val = array_merge($val, $array2[$k]);
                      }
                  }
                  
                  print_r($array1);
                  

                  输出:

                  Array
                  (
                      [0] => Array
                          (
                              [no_invoice] => INV0001
                              [product_code] => 1111111
                          )
                  
                      [1] => Array
                          (
                              [no_invoice] => INV0001
                              [product_code] => 1111112
                              [free_valie] => 839
                              [count] => 1240
                          )
                  
                  )
                  

                  3v4l.org 上的演示

                  这篇关于如何将具有相同索引和值的 2 个数组与 php 组合?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                • <legend id='tWuVd'><style id='tWuVd'><dir id='tWuVd'><q id='tWuVd'></q></dir></style></legend>
                • <tfoot id='tWuVd'></tfoot>

                      <tbody id='tWuVd'></tbody>

                    1. <i id='tWuVd'><tr id='tWuVd'><dt id='tWuVd'><q id='tWuVd'><span id='tWuVd'><b id='tWuVd'><form id='tWuVd'><ins id='tWuVd'></ins><ul id='tWuVd'></ul><sub id='tWuVd'></sub></form><legend id='tWuVd'></legend><bdo id='tWuVd'><pre id='tWuVd'><center id='tWuVd'></center></pre></bdo></b><th id='tWuVd'></th></span></q></dt></tr></i><div id='tWuVd'><tfoot id='tWuVd'></tfoot><dl id='tWuVd'><fieldset id='tWuVd'></fieldset></dl></div>
                        <bdo id='tWuVd'></bdo><ul id='tWuVd'></ul>
                        • <small id='tWuVd'></small><noframes id='tWuVd'>