Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP2数组相同的键合并值_Php_Arrays_Array Merge - Fatal编程技术网

PHP2数组相同的键合并值

PHP2数组相同的键合并值,php,arrays,array-merge,Php,Arrays,Array Merge,我有两个数组,它们的键相同,但值不同。我正试图将这些值合并到一个新数组中。我尝试过数组合并、数组合并递归、数组1+array2、数组相交、数组相交键(数组合并() 主阵列 array (size=2) 'attr' => array (size=6) 'attr__6__23__grad_gown_size' => array (size=3) 'val' => string '5ft.9in. - 5ft.11in.' (length=20)

我有两个数组,它们的键相同,但值不同。我正试图将这些值合并到一个新数组中。我尝试过数组合并、数组合并递归、数组1+array2、数组相交、数组相交键(数组合并()

主阵列

array (size=2)
'attr' => 
array (size=6)
  'attr__6__23__grad_gown_size' => 
    array (size=3)
      'val' => string '5ft.9in. - 5ft.11in.' (length=20)
      'qty' => string '1' (length=1)
      'ordqty' => 
        array (size=1)
          ...
  'attr__1__23__grad_dvd' => 
    array (size=3)
      'val' => null
      'qty' => string '0' (length=1)
      'ordqty' => 
        array (size=1)
          ...
  'attr__2__23__grad_combo' => 
    array (size=3)
      'val' => string 'Yes' (length=3)
      'qty' => string '1' (length=1)
      'ordqty' => 
        array (size=1)
          ...
  'attr__3__23__grad_tas_dip_only' => 
    array (size=3)
      'val' => null
      'qty' => string '0' (length=1)
      'ordqty' => 
        array (size=1)
          ...
  'attr__4__23__grad_tassel' => 
    array (size=3)
      'val' => null
      'qty' => string '0' (length=1)
      'ordqty' => 
        array (size=1)
          ...
  'attr__5__23__grad_honor_seal' => 
    array (size=3)
      'val' => null
      'qty' => string '0' (length=1)
      'ordqty' => 
        array (size=1)
          ...
'attr_add' => 
array (size=6)
  'attr__6__23__grad_gown_size' => 
    array (size=3)
      'val' => string '' (length=0)
      'qty' => string '0' (length=1)
      'ordqty' => 
        array (size=0)
          ...
  'attr__1__23__grad_dvd' => 
    array (size=3)
      'val' => string 'Yes' (length=3)
      'qty' => string '1' (length=1)
      'ordqty' => 
        array (size=0)
          ...
  'attr__2__23__grad_combo' => 
    array (size=3)
      'val' => null
      'qty' => string '0' (length=1)
      'ordqty' => 
        array (size=0)
          ...
  'attr__3__23__grad_tas_dip_only' => 
    array (size=3)
      'val' => null
      'qty' => string '0' (length=1)
      'ordqty' => 
        array (size=0)
          ...
  'attr__4__23__grad_tassel' => 
    array (size=3)
      'val' => string 'Yes' (length=3)
      'qty' => string '1' (length=1)
      'ordqty' => 
        array (size=0)
          ...
  'attr__5__23__grad_honor_seal' => 
    array (size=3)
      'val' => string 'Yes' (length=3)
      'qty' => string '1' (length=1)
      'ordqty' => 
        array (size=0)
          ...
数组1属性

array (size=3)
'val' => string '5ft.9in. - 5ft.11in.' (length=20)
'qty' => string '1' (length=1)
'ordqty' => 
array (size=1)
  27 => string '1' (length=1)

array (size=3)
'val' => null
'qty' => string '0' (length=1)
'ordqty' => 
array (size=1)
  27 => string '0' (length=1)
数组2属性添加

array (size=3)
'val' => string '' (length=0)
'qty' => string '0' (length=1)
'ordqty' => 
array (size=1)
  30 => string '0' (length=1)

array (size=3)
'val' => string 'Yes' (length=3)
'qty' => string '1' (length=1)
'ordqty' => 
array (size=1)
  30 => string '1' (length=1)
结果

 array (size=1)
'attr' => 
  array (size=6)
  'attr__6__23__grad_gown_size' => 
    array (size=3)
      'val' => string '5ft.9in. - 5ft.11in.' (length=20)
      'qty' => string '1' (length=1)
      'ordqty' => 
        array (size=2)
          27 => string '1' (length=1)
          30 => string '0' (length=1)
  'attr__1__23__grad_dvd' => 
    array (size=3)
      'val' => Yes
      'qty' => string '1' (length=1)
      'ordqty' => 
        array (size=1)
          27 => string '0' (length=1)
          30 => string '1' (length=1)
我在尝试什么

foreach($extra_fields_array['attr'] as $key=>$value)
{
    $ovalue = $extra_fields_array['attr'][$key]; // Array 1
    $nvalue = $attr_array['attr_add'][$key]; // Array 2

    $new_array['attr'][$key] = array_merge($nvalue,$ovalue); // NOT WORKING
 /*
  * What do I do here
  */

}
echo '<pre>';   var_dump($new_array);echo '</pre>';
foreach($extra\u fields\u array['attr']as$key=>$value)
{
$ovalue=$extra_fields_数组['attr'][$key];//数组1
$nvalue=$attr_数组['attr_add'][$key];//数组2
$new_数组['attr'][$key]=array_merge($nvalue,$ovalue);//不工作
/*
*我在这里干什么
*/
}
回声';变量转储(新数组);回声';
我希望这是有道理的。我整天都在忙这个。
提前感谢您的帮助。

这对您有帮助吗:
attr\uuuuuuuuuu 6\uuuuuu 23\uuuu grad\u laugh\u size
来自哪里?它不在任何一个输入数组中。attr_uuuu6_uuuu23_uuugrad_ulaugh_usize和attr_uuu1_uuu23_uugrad_udvd从何而来?嘿,Martin,我想同一个线程中的函数只有一个在工作Barmar,trincot,这些是顶级数组中的键。我会更新它,这样你就可以看到它们了