繁体   English   中英

从PHP数组中删除重复项

[英]remove duplicates key from array in php

我有这个数组,我想从中删除重复的键。

Array
(
[8] => Array
    (
        [7] => one name
        [27] => Array
            (
                [27] => Array
                    (
                        [31] => other name
                    )

            )

        [10] => Array
            (
                [10] => Array
                    (
                        [24] => Array
                            (
                                [24] => Array
                                    (
                                        [30] => some name
                                    )

                            )

                    )
            )
    )

)

我要删除前27个,前10个和前24个,我该怎么做?

结果应该是这样的

只需删除重复的键

Array
(
[8] => Array
(
    [7] => one name

    [27] => Array
        (
            [31] => other name
        )

    [10] => Array
        (
            [24] => Array
                (
                    [30] => some name
                )
        )
)

)

我通过构建循环功能获得了这种结构

我不完全了解此数组是什么的结果,也没有将此输出用于什么。 但是无论如何,这里有一个简单的递归算法可以满足您的需求。 顺便说一句,它没有特定的PHP。

function remove_duplicates(&$array){
    foreach($array as $key => &$val){

        if(is_array($val)){
            if(count($val) == 1 && array_keys($val)[0] == $key){
                $val = $val[$key];
            }

            remove_duplicates($val);

        }
    }
}

这里查看试运行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM