Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengeluarkan Sub-array Pendua dengan Cekap daripada Tatasusunan Berbilang Dimensi dalam PHP?

Bagaimanakah Saya Boleh Mengeluarkan Sub-array Pendua dengan Cekap daripada Tatasusunan Berbilang Dimensi dalam PHP?

DDD
Lepaskan: 2024-12-24 19:24:11
asal
324 orang telah melayarinya

How Can I Efficiently Remove Duplicate Sub-arrays from a Multidimensional Array in PHP?

Penyingkiran Nilai Duplikat yang Cekap daripada Tatasusunan Berbilang Dimensi dalam PHP

Untuk mengalih keluar nilai pendua secara berkesan daripada tatasusunan berbilang dimensi dalam PHP, pendekatan elegan boleh digunakan menggunakan siri tatasusunan dan pensirian.

Pertimbangkan tatasusunan contoh berikut:

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
    )

)
Salin selepas log masuk

Untuk mengalih keluar pendua daripada tatasusunan ini, kita boleh menggunakan kod berikut:

$input = array_map("unserialize", array_unique(array_map("serialize", $input)));
Salin selepas log masuk

Kod ini melakukan langkah berikut:

  • Serialization: Setiap sub-array diserikan menggunakan fungsi serialize(), menukarnya menjadi rentetan unik perwakilan.
  • Semakan Keunikan: Fungsi array_unique() digunakan pada tatasusunan rentetan bersiri, menghapuskan sebarang pendua.
  • Nyahsiri: Akhir sekali, tatasusunan rentetan unik yang terhasil tidak bersiri menggunakan fungsi unserialize(), memulihkan sub-tatasusunan kepada bentuk asalnya.

Pendekatan ini dengan cekap mengalih keluar nilai pendua sambil mengekalkan struktur tatasusunan asal. Ia amat berguna untuk senario di mana anda mempunyai tatasusunan berbilang dimensi yang besar dan perlu menghapuskan pendua dengan cepat.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Sub-array Pendua dengan Cekap daripada Tatasusunan Berbilang Dimensi dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan