【问题标题】:How to remove duplicate values from a multi-dimensional array in PHP [duplicate]如何从 PHP 中的多维数组中删除重复值 [重复]
【发布时间】:2017-06-01 06:22:22
【问题描述】:
Array
(
    [0] => Array
    (
        [0] => abc
        [1] => def
    )

    [1] => Array
    (
        [0] => ghi
        [1] => jkl
    )

    [2] => Array
    (
        [0] => mno
        [1] => pql
    )

    [3] => Array
    (
        [0] => abc
        [1] => def
    )

    [4] => Array
    (
        [0] => ghi
        [1] => jkl
    )

    [5] => Array
    (
        [0] => mno
        [1] => pql
    )
)

【问题讨论】:

  • 复制粘贴问题。我的意思是你在试验什么?
  • 完全复制
  • 关于重复值的重复问题很有趣,但这不是喜剧网站。

标签: php mysql


【解决方案1】:

试试这个代码

//method for remove duplicate data
function removeDuplicate($arr) {
    //Define output
    $outputs = [];

    //Define temp for keep data
    $tmps    = [];

    foreach ($arr as $each) {
        //convert to string
        $tmp = implode("|", $each);

        if (!in_array($tmp, $tmps)) {
            $tmps[] = $tmp;
            $outputs[] = $each;
        }
    }
    return $outputs;
}

【讨论】:

    【解决方案2】:

    将使用如下嵌套的 foreach:

    foreach ($aArray as $iPos => $aInnerArray) {
    
        foreach ($aArray as $iPos => $aArrayToCheck) {
    
            if($aInnerArray === $aArrayToCheck){
    
                unset($aArray($iPos));
    
            }
    
        }
    
    }
    

    【讨论】:

      【解决方案3】:
      array_unique($array, SORT_REGULAR);
      

      【讨论】:

      • 据我所知,这不适用于多维
      猜你喜欢
      • 2011-04-05
      • 2017-07-23
      • 2018-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-18
      相关资源
      最近更新 更多