合并和循环多维数组

3

我正在尝试使用foreach循环一些数组。以下是演示我的代码:

     $q = "SELECT * "
       ."FROM ".TBL_FRUITSDETAILS."";
        $fruitsdetails = $database->query($q);
        $var = array();
    while($line = mysql_fetch_assoc($fruitsdetails)){
       $var[] = $line;
    }


  $q = "SELECT * "
       ."FROM ".TBL_NUMDETAILS."";
        $numdetails = $database->query($q);
        $var2 = array();
    while($line2 = mysql_fetch_assoc($numdetails)){
         $var2[] = $line2;
        // $n++;
    }

$out = array();
foreach ($var as $key => $value){
   // $out[] = array_merge_recursive($value, $var2[$key]);

    foreach ($var2 as $key => $value) {
        $out1[] = array_merge_recursive($var[$key], $var2[$key]);
    }
}


print_r(json_encode($out1));

然而,这将输出:
appleone
bananatwo
appleone
bananatwo

我想这样显示它,而不是这样。
appleone
appletwo
bananaone
bananatwo
3个回答

2

我认为您的循环应该是这样的。不需要使用array_merge_recursive函数。

$var = array (1,2);    
$var2 = array ('a','b');
$result = array();
foreach($var as $key => $val){
    foreach($var2 as $k => $v){
        $result[] = $val.$v;
    }
}

2

试一下这个:

$var = array (1,2);    
$var2 = array (a,b);

$out = array();
foreach ($var as $key => $value){
    foreach($var2 as $k=>$v){
        $out[] = $value.$v;
    }
}
print_r(json_encode($out));

1

不需要使用array_merge_recursive,只需使用嵌套循环即可:

$var = array (1,2);    
$var2 = array ('a','b');


$out = array();
foreach($var as $arrayNumeric){
  foreach($var2 as $arrayAlphaNumeric){
      $out[] = $arrayNumeric.$arrayAlphaNumeric;
  }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接