【问题标题】:multidimensional array duplicates merge多维数组重复合并
【发布时间】:2013-07-23 02:43:33
【问题描述】:

我有一个多维数组,我想将重复的数据与相同的数据结合起来,例如 我有一个包含这些字段的数组:

    array(5) {
  [0]=>
  array(2) {
    ["data"]=> string(10) "05-30-2013"
    ["link"]=> string() "unions"
  }
  [1]=>
  array(2) {
    ["data"]=> string(10) "06-03-2013"
    ["link"]=> string() "potatoes"
  }
  [2]=>
  array(2) {
    ["data"]=> string(10) "06-03-2013"
    ["link"]=> string() "apple"
  }
  [3]=>
  array(2) {
    ["data"]=> string(10) "06-03-2013"
    ["link"]=> string() "banana"
  }
  [4]=>
  array(2) {
    ["data"]=> string(10) "05-30-2013"
    ["link"]=> string() "pear"
  }
  }

我想将相同的日期合并为一个。

array(2) {
  [0]=>
  array(2) {
    ["data"]=> string(10) "05-30-2013"
    ["link"]=> string() "unions,pear"
  }
  [1]=>
  array(2) {
    ["data"]=> string(10) "06-03-2013"
    ["link"]=> string() "potatoes,apple,banana"
  }
  }

我该怎么做? 谢谢

【问题讨论】:

    标签: php arrays multidimensional-array merge


    【解决方案1】:
    $arr = array (
       0 => array (
         "data" => "05-30-2013",
         "link" => "unions"),
       1 => array (
         "data" => "06-03-2013",
         "link" => "potatoes"),
       2 => array (
         "data" => "06-03-2013",
         "link" => "apple"),
       3 => array (
         "data" => "06-03-2013",
         "link" => "banana"),
       4 => array (
         "data" => "05-30-2013",
         "link" => "pear"));
    $out = array();
    foreach ($arr as $key => $value){
        if (array_key_exists($value['data'], $out)){
            $out[$value['data']]['link'] .= ', '.$value['link'];
        } else {
            $out[$value['data']] = array('data' => $value['data'], 'link' => $value['link']);
        }
    }
    $out = array_values($out);
    print_r($out);
    

    【讨论】:

      猜你喜欢
      • 2013-09-18
      • 2020-04-28
      • 2015-06-04
      • 2018-02-09
      • 1970-01-01
      • 2014-06-29
      • 1970-01-01
      • 1970-01-01
      • 2018-03-14
      相关资源
      最近更新 更多