2016-11-01 106 views
1

如何使用Array1和Array2来获取想要的结果?重建阵列以从第二个阵列添加密钥

数组1

array(
    (int) 0 => '37', 
    (int) 1 => '38' 
) 

数组2

array(
    (int) 0 => array(
     'ParentKey' => array(
      'ChildKey1' => '1', 
      'ChildKey2' => '2' 
     ) 
    ), 
    (int) 1 => array(
     'ParentKey' => array(
      'ChildKey1' => '1', 
      'ChildKey2' => '1' 
     ) 
    ) 
) 

通缉的结果

array(
    (int) 0 => array(
     'ParentKey' => array(
      'Array1Key' => 37, 
      'ChildKey1' => '1', 
      'ChildKey2' => '2' 
     ) 
    ), 
    (int) 1 => array(
     'ParentKey' => array(
      'Array1Key' => 37, 
      'ChildKey1' => '1', 
      'ChildKey2' => '1' 
     ) 
    ) 
    (int) 2 => array(
     'ParentKey' => array(
      'Array1Key' => 38, 
      'ChildKey1' => '1', 
      'ChildKey2' => '2' 
     ) 
    ), 
    (int) 3 => array(
     'ParentKey' => array(
      'Array1Key' => 38, 
      'ChildKey1' => '1', 
      'ChildKey2' => '1' 
     ) 
    ) 
) 

我已经试过几件事情,但是这让我最接近...

PHP

$data = array(); 
foreach($Array1 as $id) 
{ 
    foreach($Array2 as $Array1Result) 
    { 
     $data[]['ParentKey'] = array(
      'Array1Key' => $id, 
      $Array1Result['ParentKey'] 
     ); 
    } 
} 

结果

array(
    (int) 0 => array(
    'ParentKey' => array(
     'Array1Key' => '37', 
     (int) 0 => array(
      'ChildKey1' => '1', 
      'ChildKey2' => '2' 
     ) 
    ) 
), 
    (int) 1 => array(
    'ParentKey' => array(
     'Array1Key' => '37', 
     (int) 0 => array(
      'ChildKey1' => '1', 
      'ChildKey2' => '1' 
     ) 
    ) 
), 
    (int) 2 => array(
    'ParentKey' => array(
     'Array1Key' => '38', 
     (int) 0 => array(
      'ChildKey1' => '1', 
      'ChildKey2' => '2' 
     ) 
    ) 
), 
    (int) 3 => array(
    'ParentKey' => array(
     'Array1Key' => '38', 
     (int) 0 => array(
      'ChildKey1' => '1', 
      'ChildKey2' => '1' 
     ) 
    ) 
) 
) 
+2

,问题是... – useyourillusiontoo

+0

替换'阵列( 'Array1Key'=> $ ID,$ Array1Result [ 'ParentKey'])与'array_merge(阵列( 'Array1Key'=> $ ID)', $ Array1Result ['ParentKey'])' –

+0

@CharlotteDunois几乎没有。谢谢!我只需要在'$ data [] ['ParentKey'] =' – Draven

回答

2

你究竟是什么你做什么。你把一个数组放入数组中。但是你需要将两个数组合并在一起。第一个是Array1Key,第二个是旧数组。你可以通过array_merge来实现。

$data = array(); 
foreach($Array1 as $id) 
{ 
    foreach($Array2 as $Array1Result) 
    { 
     $data[]['ParentKey'] = array_merge(
      array('Array1Key' => $id), 
      $Array1Result['ParentKey'] 
     ); 
    } 
}