2017-07-31 89 views
2

我想将具有相同值的数组合并成一个。如何将同一个键的数组合并成一个在php

这是数组我有

Array 
(
    [0] => Array 
     (
      [id] => 6 
      [name] => role 
     ) 
    [1] => Array 
     (
      [id] => 5 
      [name] => role 
     ) 
    [2] => Array 
     (
      [id] => 3 
      [name] => category 
     ) 
    [3] => Array 
     (
      [id] => 4 
      [name] => category 
     ) 
) 

这是我想达到的目标。

Array 
(
    [0] => 5, 
    [1] => 6 
) 
Array 
(
    [0] => 4, 
    [1] => 3 
) 

这是我的代码

$result = array(); 
foreach ($items as $key => $value) { 
    $name = $value['name']; 
    $result[$name] = array($value['id']); 
} 

foreach($result as $key => $val){ 
    print_r($val); 
} 

我所得到的是

可以在这里任何人都可以帮我解决这个?任何帮助真的 赞赏。 谢谢。

回答

4

尝试这样

$result=[]; 
foreach ($items as $value) { 
    $result[$value['name']][] = $value['id']; 
} 
print_r($result); 
+0

@Jomol你试过这个吗? –

+0

你是对的:) –

+0

非常感谢你 –

5
$result = array(); 
foreach ($items as $key => $value) { 
    $name = $value['name']; 
    if (!isset($result[$name])) { 
     $result[$name] = []; 
    } 
    $result[$name][] = $value['id']; 
} 
print_r($result); 
+0

你可以因为你不使用它删除'$ key'。 – mickmackusa

相关问题