Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengeluarkan Tatasusunan Pendua dengan Cekap daripada Tatasusunan Berbilang Dimensi dalam PHP?

Bagaimana untuk Mengeluarkan Tatasusunan Pendua dengan Cekap daripada Tatasusunan Berbilang Dimensi dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-12-24 11:39:23912semak imbas

How to Efficiently Remove Duplicate Arrays from a Multi-Dimensional Array in PHP?

Mengalih keluar Pendua daripada Tatasusunan Berbilang Dimensi dalam PHP

Apabila bekerja dengan tatasusunan berbilang dimensi, nilai pendua mungkin diperlukan untuk memastikan integriti data. Berikut ialah pendekatan yang cekap untuk mencapai ini dalam PHP.

Menggunakan array_map dan bersiri

Kami boleh memanfaatkan fungsi array_map untuk menggunakan fungsi bersiri pada setiap tatasusunan dalam tatasusunan berbilang dimensi. Pensirian menukar setiap tatasusunan kepada perwakilan rentetan yang unik. Kemudian, array_unique menghapuskan perwakilan rentetan pendua. Akhir sekali, kami menyahsiri rentetan unik itu kembali ke dalam tatasusunan yang sepadan.

$input = array_map("unserialize", array_unique(array_map("serialize", $input)));

Contoh

Mari kita pertimbangkan contoh tatasusunan berbilang dimensi.

$input = [
    [0 => 'abc', 1 => 'def'],
    [0 => 'ghi', 1 => 'jkl'],
    [0 => 'mno', 1 => 'pql'],
    [0 => 'abc', 1 => 'def'],
    [0 => 'ghi', 1 => 'jkl'],
    [0 => 'mno', 1 => 'pql'],
];

Selepas menggunakan kod di atas, nilai pendua dialih keluar, menghasilkan:

[
    [0 => 'abc', 1 => 'def'],
    [0 => 'ghi', 1 => 'jkl'],
    [0 => 'mno', 1 => 'pql'],
]

Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Tatasusunan Pendua dengan Cekap daripada Tatasusunan Berbilang Dimensi dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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