Bagaimana untuk mengalih keluar nilai pendua daripada tatasusunan dua dimensi php

PHPz
Lepaskan: 2023-04-20 15:19:29
asal
575 orang telah melayarinya

Dalam PHP, tatasusunan dua dimensi ialah struktur data yang sangat popular. Walau bagaimanapun, apabila kita perlu menyahduplikasi data dalam tatasusunan dua dimensi, kita mungkin menghadapi beberapa kesukaran.

Artikel ini akan memperkenalkan cara menyahduplikasi tatasusunan dua dimensi dalam PHP dan mengekalkan nilai unik. Kami akan membincangkan dua amalan biasa: menggunakan gelung dan menggunakan fungsi array_map().

  1. Gunakan gelung

Menggunakan gelung untuk melintasi tatasusunan dua dimensi untuk mencari nilai pendua dan memadamkannya ialah kaedah yang paling langsung. Berikut ialah kod sampel:

function unique_arr($array2D){
    foreach ($array2D as $k=>$v){
        $tem[$k] = serialize($v);
    }
    $tem = array_unique($tem); 
    foreach ($tem as $k=>$v){
        $array[$k] = unserialize($v);
    }
    return $array;
}
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menggunakan gelung foreach untuk melelaran ke atas tatasusunan dua dimensi, mensiri tatasusunan dan menyimpannya dalam tatasusunan sementara $tem. Kemudian kami menggunakan fungsi array_unique() untuk mengalih keluar nilai pendua dalam $tem. Akhir sekali, kami menggunakan gelung foreach sekali lagi untuk menyahsiri dan menyimpannya dalam array $array. Akhirnya, fungsi mengembalikan tatasusunan dua dimensi yang tidak menduplikasi.

  1. Menggunakan fungsi array_map()

Dalam PHP, fungsi array_map() boleh digunakan untuk melaksanakan fungsi panggil balik pada setiap elemen dalam tatasusunan. Mengalih keluar nilai pendua daripada tatasusunan dua dimensi juga boleh dilakukan dengan mudah menggunakan fungsi array_map(). Contoh kod adalah seperti berikut:

function unique_arr($array2D){
    $serialize_array = array_map('serialize', $array2D);
    $unique_serialize_array = array_unique($serialize_array);
    $array = array_map('unserialize', $unique_serialize_array);
    return $array;
}
Salin selepas log masuk

Seperti kaedah pertama, dalam kod contoh ini, kita mula-mula menyusun dan menyimpan tatasusunan dalam tatasusunan baharu $serialize_array. Seterusnya, kami menggunakan fungsi array_unique() untuk mengalih keluar nilai pendua dalam $serialize_array. Akhir sekali, kami menggunakan fungsi array_map() untuk menyahsiri tatasusunan bersiri dan menyimpannya dalam $array, akhirnya mengembalikan tatasusunan dua dimensi bukan pendua.

3. Ringkasan

Dalam PHP, terdapat dua cara biasa untuk mengalih keluar nilai pendua daripada tatasusunan dua dimensi: menggunakan gelung dan menggunakan fungsi array_map(). Walaupun kedua-dua kaedah boleh mencapai kefungsian, menggunakan fungsi array_map() lebih mudah dibaca dan difahami kerana sifatnya yang ringkas dan mudah difahami.

Ringkasnya, apabila berurusan dengan tatasusunan dua dimensi, kami perlu memberi perhatian kepada pelbagai operasi tatasusunan untuk memproses data kami dengan lebih cekap dan mudah.

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