【问题标题】:Check duplicate array php and combine duplicate entry [closed]检查重复的数组php并合并重复的条目[关闭]
【发布时间】:2014-05-09 07:50:29
【问题描述】:

我的数组:

Array
(
    [0] => ABC A
    [1] => ABC B
    [2] => Array
        (
            [0] => DEF
            [1] => ABC A
        )

    [3] => Array
        (
            [0] => DEF
            [1] => ABC B
        )

    [4] => Array
        (
            [0] => GHI
            [1] => ABC A
        )

    [5] => Array
        (
            [0] => GHI
            [1] => ABC B
        )

)

我的目标是创建一个这样的数组:

Array
(
    [0] => ABC A
    [1] => ABC B
    [2] => Array
        (
            [0] => DEF
            [1] => ABC A
            [2] => ABC B
        )

    [3] => Array
        (
            [0] => GHI
            [1] => ABC A
            [2] => ABC B
        )

)

我不知道如何解决这个问题。

【问题讨论】:

  • @Ganesh:不知道这对这里有什么帮助。
  • 我无法理解您希望它成为排序和合并的方式
  • “我的目标是创建一个数组像这样” - 嗯?你必须解释规则。投票结束。

标签: php arrays


【解决方案1】:

你可以在这个上使用普通的 ol' foreach。考虑这个例子:

$values = array(
    'ABC A',
    'ABC B',
    array('DEF', 'ABC A'),
    array('DEF', 'ABC B'),
    array('GHI', 'ABC A'),
    array('GHI', 'ABC B'),
);

$new_values = array();
foreach($values as $key => $value) {
    if(is_array($value)) {
        $new_values[$value[0]][0] = $value[0];
        $new_values[$value[0]][] = $value[1];
    } else {
        $new_values[] = $value;
    }
}

$new_values = array_values($new_values); // reindex

print_r($new_values);

样本输出:

Array
(
    [0] => ABC A
    [1] => ABC B
    [2] => Array
    (
        [0] => DEF
        [1] => ABC A
        [2] => ABC B
    )

    [3] => Array
    (
        [0] => GHI
        [1] => ABC A
        [2] => ABC B
    )

)

【讨论】:

  • 天啊,别忘了永远给这些人幸福。真的谢谢你的工作
  • +1 用于理解问题!
猜你喜欢
  • 2012-08-05
  • 1970-01-01
  • 2014-10-12
  • 2021-10-20
  • 2015-01-22
  • 2019-07-18
  • 2011-03-27
  • 2019-01-05
  • 1970-01-01
相关资源
最近更新 更多