2012-12-01 43 views
-4
Array 
(
[0] => Array 
    (
     [id] => 1 
     [name] => abc 
     [email] => [email protected] 
     [hardware_type] => keybord 
    ) 

[1] => Array 
    (
     [id] => 1 
     [name] => abc 
     [email] => [email protected] 
     [hardware_type] => mouse 
    ) 

) 

和結果需要這樣合併數組元素

Array 
(
[0] => Array 
    (
     [id] => 1 
     [name] => abc 
     [email] => [email protected] 
     [hardware_type] => keybord , mouse 
    ) 

) 
+0

什麼曲estion? –

+0

我想得到最後陣列的結果,從上面的陣列 – Devesh

+9

whathaveyoutried.com – ariefbayu

回答

0
$array1 = array(array 
    (
     'id' => 1, 
     'name' =>' abc', 
     'email' => '[email protected]', 
     'hardware_type' => 'keybord' 
    ),array 
    (
     'id' => 1, 
     'name' => 'abc', 
     'email' => '[email protected]', 
     'hardware_type' => 'mouse' 
    ) 
    ,array 
    (
     'id' => 2, 
     'name' => 'abc2', 
     'email' => '[email protected]', 
     'hardware_type' => 'mouse' 
    ) 
); 

function mergarrays($array){    
     $arrayout = array(); 
     for($i = 0; $i < count($array); ++$i){ 
     foreach($array[$i] as $key => $value){ 
       if(array_key_exists($key,$arrayout)){ 
        if(strpos($arrayout[$key],$value) == null){ 
         if($arrayout[$key] != $value) 
          { 
           if(!in_array($value,explode(',',$arrayout[$key]))){ 
            $arrayout[$key] = $arrayout[$key] . ','.$value; 
            }       
          }      
         }     
       }else 
       { 
        $arrayout[$key] = $value ; 
       } 
      } 
     } 
     return $arrayout; 
     } 
print_r(mergarrays($array1)); 
+0

謝謝,它的工作 – Devesh

0

考慮:

$a; // array input 1 
$b; // array input 2 

這裏就是你正在尋找的功能:

function datFunction($a, $b) { 
    $c = array(); // array output 
    foreach ($a as $key => $value) { 
     if (array_key_exists($key, $b) and $b[$key] != $value) { 
      $c[$key] = array($value, $b[$key]); 
      // or $c[$key] = "$value , {$b[$key]}"; 
     } else { 
      $c[$key] = $value; 
     } 
    } 
    foreach ($b as $key => $value) { 
     if (!array_key_exists($key, $c)) { 
      $c[$key] = $value; 
     } 
    } 
    return $c; 
}