Merging and joining multidimensional arrays

I am trying to code some array using foreach

. This is the code that shows what I am doing

     $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));

      

However, this gives

appleone
bananatwo
appleone
bananatwo

      

and I want to display it like this:

appleone
appletwo
bananaone
bananatwo

      

+3


source to share


3 answers


Try it,



$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));

      

+2


source


I think your loop should be something like this. No need to use the functionarray_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


source


No need to use array_merge_recursive

, the whole nested loop is enough:

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


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

      

+1


source







All Articles