Bagaimanakah saya boleh mengalih keluar Sub-array Pendua daripada Tatasusunan PHP Berbilang Dimensi?

Barbara Streisand
Lepaskan: 2024-11-25 09:34:10
asal
314 orang telah melayarinya

How Can I Remove Duplicate Sub-arrays from a Multi-Dimensional PHP Array?

Mengalih keluar Pendua daripada Tatasusunan PHP Berbilang Dimensi

Dalam PHP, bekerja dengan tatasusunan berbilang dimensi selalunya melibatkan keperluan untuk menghapuskan elemen pendua. Ini amat berguna apabila berurusan dengan set data yang besar di mana nilai yang sama mungkin muncul dalam berbilang sub-tatasusunan.

Pertimbangkan contoh berikut, di mana kami mempunyai tatasusunan 2D dengan sub-tatasusunan yang mengandungi nama, e-mel dan maklumat lain :

$array = [
    [
        'name' => 'Dave',
        'email' => 'dave@example.com',
    ],
    [
        'name' => 'John',
        'email' => 'john@example.com',
    ],
    [
        'name' => 'Bruce',
        'email' => 'bruce@example.com',
    ],
    [
        'name' => 'John',
        'email' => 'john@example.com',
    ],
];
Salin selepas log masuk

Dalam contoh ini, kami mempunyai entri pendua dengan alamat e-mel yang sama ('john@example.com'). Untuk mengalih keluar sub-tatasusunan pendua, kami boleh menggunakan keunikan indeks tatasusunan menggunakan coretan berikut:

$newArr = [];
foreach ($array as $val) {
    $newArr[$val['email']] = $val; 
}
$array = array_values($newArr);
Salin selepas log masuk

Dengan mengulangi sub-tatasusunan dan menggunakan alamat e-mel sebagai kunci untuk tatasusunan baharu, kami menimpa sebarang nilai pendua dengan sub-tatasusunan terakhir yang sepadan. Fungsi array_values() kemudiannya digunakan untuk menetapkan semula indeks tatasusunan, menghasilkan tatasusunan nyahduplikasi:

$array = [
    [
        'name' => 'Dave',
        'email' => 'dave@example.com',
    ],
    [
        'name' => 'John',
        'email' => 'john@example.com',
    ],
    [
        'name' => 'Bruce',
        'email' => 'bruce@example.com',
    ],
];
Salin selepas log masuk

Teknik ini dengan berkesan mengalih keluar nilai pendua berdasarkan kunci yang ditentukan, meninggalkan kita dengan tatasusunan berbilang dimensi yang dinyahgandakan .

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengalih keluar Sub-array Pendua daripada Tatasusunan PHP Berbilang Dimensi?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan