Bagaimana untuk mengalih keluar elemen pendua daripada tatasusunan dua dimensi dalam php

PHPz
Lepaskan: 2023-04-26 14:52:12
asal
849 orang telah melayarinya

Dalam PHP, tatasusunan dua dimensi ialah jenis data yang sangat biasa. Walau bagaimanapun, apabila kita berhadapan dengan tatasusunan dua dimensi yang mengandungi elemen berulang, bagaimana untuk mengalih keluar elemen berulang? Artikel ini akan memperkenalkan dua kaedah yang biasa digunakan untuk membantu anda menangani masalah ini dengan mudah.

Kaedah 1: Gunakan fungsi array_unique()

Fungsi array_unique() ialah fungsi PHP sendiri yang boleh mengalih keluar elemen pendua daripada tatasusunan. Walau bagaimanapun, fungsi ini hanya berfungsi dengan tatasusunan satu dimensi. Jadi, bagaimana anda menggunakan ini pada tatasusunan 2D?

Kita boleh menggunakan fungsi array_unique() pada setiap sub-array tatasusunan dua dimensi dengan bantuan fungsi array_map(), seperti yang ditunjukkan di bawah:

// 定义一个包含重复元素的二维数组
$arr = array(
    array("name" => "张三", "age" => 20),
    array("name" => "李四", "age" => 20),
    array("name" => "张三", "age" => 25),
    array("name" => "王五", "age" => 30),
    array("name" => "李四", "age" => 25)
);

// 去除重复元素
$arr = array_map("unserialize", array_unique(array_map("serialize", $arr)));

print_r($arr);
Salin selepas log masuk

Dalam kod di atas, kita mula-mula Gunakan fungsi array_map() untuk menggunakan fungsi array_unique() pada setiap sub-array tatasusunan dua dimensi, dan kemudian gunakan array_map() fungsi untuk menyahsirikannya untuk mendapatkan tatasusunan dua dimensi terakhir.

Kaedah 2: Gunakan gelung foreach

Selain kaedah di atas, kita juga boleh menggunakan gelung foreach untuk memproses elemen berulang dalam tatasusunan dua dimensi.

Kaedah khusus ialah: mula-mula tentukan tatasusunan kosong baharu, dan kemudian gunakan gelung foreach untuk merentasi setiap sub-tatasusunan dalam tatasusunan asal untuk menentukan sama ada ia muncul dalam tatasusunan baharu, dan jika tidak, tambahkannya ke dalam tatasusunan baharu. Kodnya adalah seperti berikut:

// 定义一个包含重复元素的二维数组
$arr = array(
    array("name" => "张三", "age" => 20),
    array("name" => "李四", "age" => 20),
    array("name" => "张三", "age" => 25),
    array("name" => "王五", "age" => 30),
    array("name" => "李四", "age" => 25)
);

// 去除重复元素
$newArr = array();
foreach ($arr as $value) {
    if (!in_array($value, $newArr)) {
        $newArr[] = $value;
    }
}

print_r($newArr);
Salin selepas log masuk

Dalam kod di atas, kami menggunakan fungsi in_array() untuk menentukan sama ada setiap subarray telah muncul dalam tatasusunan baharu. Jika tidak, tambahkannya pada tatasusunan baharu tengah.

Ringkasan

Elemen pendua dalam tatasusunan dua dimensi ialah masalah yang sering kita hadapi dalam pembangunan. Artikel ini memperkenalkan dua kaedah yang biasa digunakan: menggunakan fungsi array_unique() dan menggunakan gelung foreach saya harap ia dapat membantu semua orang menangani masalah ini dengan mudah. Tidak kira kaedah yang digunakan, ia perlu dipilih mengikut situasi sebenar untuk mencapai hasil yang terbaik.

Atas ialah kandungan terperinci Bagaimana untuk mengalih keluar elemen pendua daripada tatasusunan dua 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