2016-09-19 92 views
1

所以我有两个数组。我的主要一个是存储在一个名为$topVideos变量是这样的:如何合并PHP中两个不同数组的键

["rows"] => array(10) { 
    [0] => array(2) { 
     [0] => string(11) "GARuSV" 
     [1] => float(2003) 
    } 
    [1] => array(2) { 
     [0] => string(11) "rDnbeSrk" 
     [1] => float(1119) 
    } 
    [2] => array(2) { 
     [0] => string(11) "0ykEqaUI" 
     [1] => float(1015) 
    } 

,第二个是存储在一个名为$titles变量,如下所示:

array(10) { 
    [0] => string(25) "Serve Heroes" 
    [1] => string(38) "Rover Sailing Adventure!!" 
    [2] => string(54) "BNI Presentation" 

我要做的就是合并第二个的每个关键到第一个,所以它可以看起来像这样:

["rows"] => array(10) { 
     [0] => array(2) { 
      [0] => string(11) "GARuSV" 
      [1] => float(2003) 
      [3] => string(25) "Serve Heroes" 
     } 
     [1] => array(2) { 
      [0] => string(11) "rDnbeSrk" 
      [1] => float(1119) 
      [3] => string(25) "Rover Sailing Adventure!!" 
     } 
     [2] => array(2) { 
      [0] => string(11) "0ykEqaUI" 
      [1] => float(1015) 
      [3] => string(25) "BNI Presentation" 
     } 

我该如何做到这一点?欢迎任何帮助!谢谢你的时间

+2

来吧......你可以明白这一点自己... – arkascha

+0

$ A + $ B数组实际工作中PHP – rak007

回答

3
foreach($titles as $key => $title){ 
    $topVideos["rows"][$key][] = $title; 
} 
+0

这是唯一可行的答案(我测试了它们)。 –

+0

谢谢你的时间!这是我的问题的解决方案! – Alan

+0

不客气,@Alan –

0

循环数组,检查数值是否存在于另一个数组中,如果是的话,添加它。

<?php 
foreach($topVideos['rows'] as $i => $v) { 
    if(isset($titles[$i])) { $topVideos['rows'][$i][] = $titles[$i]; } 
} 
?> 
+0

你测试过了吗?我测试了它,它什么也没做。 –

+0

您错过了第2行第42列 –

+0

Jup阵列'$ topVideos'的标记''rows''标记,并添加了:) – LinkinTED

0

您可以使用array_merge_recursive()来获得期望的结果

$array = array_merge_recursive($array1, $array2); 
+0

我测试了它,它不起作用,第二个数组是**追加**。 –

相关问题