簡體   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