Search code examples
phpcodeigniter

how merge multiple query result into single result in php


I'm currently stuck on how to merge multi query result into single result like;

multiple result:

$a1 = array(
["name" => "coca-cola"], 
["name" => "sprite"], 
["name" => "pepsi"]
);

$a2 = array(
["color" => "red"], 
["color" => "green"], 
["color" => "blue"]
);

$a3 = array(
["price" => 2], 
["price" => 1], 
["price" => 4]
);

expected output:

$res = array(
["name" => "coca-cola","color" => "red", "price" => 2],
["name" => "sprite","color" => "green", "price" => 1],
["name" => "pepsi","color" => "blue", "price" => 4]
);

Solution

  • Try this solution.

    $a1 = array(
        ["name" => "coca-cola"],
        ["name" => "sprite"],
        ["name" => "pepsi"]
    );
    
    $a2 = array(
        ["color" => "red"],
        ["color" => "green"],
        ["color" => "blue"]
    );
    
    $a3 = array(
        ["price" => 2],
        ["price" => 1],
        ["price" => 4]
    );
    
    $res = array();
    for($i=0; $i<count($a1); $i++){
        $res[] = array_merge($a1[$i],$a2[$i],$a3[$i]);
    }
    

    Here we are assuming that all $a1, $a3, $a3 arrays have the same dimension.