2012-01-02 8 views
3

我有一个多维数组PHP:如何连接共享同一个键的数组元素的值以删除重复的键?

$arr = array(0 => array('www.foo.com' => 'a'), 1 => array('www.bar.com' => 'b'), 2 => array('www.foo.com' => 'c')); 

我将如何串联共享同一个密钥,然后删除重复的值,所以我留下:

$arr = array(0 => array('www.foo.com' => 'a,c'), 1 => array('www.bar.com' => 'b')); 
+1

我在阵列有点小白的我害怕。我一直在寻找PHP数组的功能,但我看不到其他类似的例子 – nickstaw 2012-01-02 05:01:14

回答

2

没有一个内置的函数,以您在示例中所使用的方式连接值。

array_combine()连接数组。

你需要一个函数来模仿这个功能,而不是删除已经有一个值的键的值,你需要做字符串连接。

function array_concat(Array $array1array, Array $array2array) { 
    foreach ($array2array as $key => $value) { 
     $newval = ""; 
     if (isset($array1array[$key])) { 
      $newval = $array1array[$key] . ","; 
     } 
     $array1array[$key] = $newval . $value; 
    } 
    return $array1array; 
} 

从那里你需要调整适用于多维数组的功能。

+0

感谢史蒂夫 - 我会去使用你的代码 – nickstaw 2012-01-02 05:22:48

相关问题