Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana dengan cepat mengalih keluar tatasusunan dua dimensi dalam php

Bagaimana dengan cepat mengalih keluar tatasusunan dua dimensi dalam php

王林
Lepaskan: 2023-05-19 13:28:37
asal
852 orang telah melayarinya

Dalam pembangunan PHP, selalunya diperlukan untuk memproses data, seperti penyahduplikasian, pengisihan, penapisan, dsb. Antaranya, memproses tatasusunan dua dimensi adalah operasi yang sangat biasa. Jadi, bagaimana dengan cepat mengalih keluar data pendua dalam tatasusunan dua dimensi? Di bawah ini kami akan memperkenalkan anda kepada beberapa kaedah pelaksanaan.

Kaedah 1: Gunakan fungsi array_unique()

fungsi array_unique() boleh mengalih keluar data pendua dalam tatasusunan dengan cepat Kaedah pelaksanaan khusus adalah seperti berikut:

rreee

Hasil output :

$array = array(
    array('id' => 1, 'name' => '小明'),
    array('id' => 2, 'name' => '小红'),
    array('id' => 3, 'name' => '小明')
);

$newArray = array_map("serialize", $array);
$newArray = array_unique($newArray);
$newArray = array_map("unserialize", $newArray);

print_r($newArray);
Salin selepas log masuk

Kaedah 2: Gunakan gelung traversal

untuk menggelung melalui tatasusunan, bandingkan setiap subtatasusunan dengan subtatasusunan sebelumnya dan padamkannya jika ia adalah sama. Pelaksanaan kod khusus adalah seperti berikut:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => 小明
        )

    [1] => Array
        (
            [id] => 2
            [name] => 小红
        )
)
Salin selepas log masuk

Hasil output:

$array = array(
    array('id' => 1, 'name' => '小明'),
    array('id' => 2, 'name' => '小红'),
    array('id' => 3, 'name' => '小明')
);

for($i = 0; $i < count($array) - 1; $i++){
    for($j = $i + 1; $j < count($array); $j++){
        if($array[$i] == $array[$j]){
            unset($array[$j]);
        }
    }
}

print_r($array);
Salin selepas log masuk

Kaedah 3: Gunakan fungsi array_walk() Fungsi

array_walk() membolehkan kami menyesuaikan fungsi untuk memproses tatasusunan. Kaedah pelaksanaan khusus adalah seperti berikut:

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => 小明
        )

    [1] => Array
        (
            [id] => 2
            [name] => 小红
        )

)
Salin selepas log masuk

Hasil keluaran:

$array = array(
    array('id' => 1, 'name' => '小明'),
    array('id' => 2, 'name' => '小红'),
    array('id' => 3, 'name' => '小明')
);

$tempArr = array();
array_walk($array, function($value, $key) use (&$tempArr) {
    if(!in_array($value, $tempArr)){
        array_push($tempArr, $value);
    }
});

print_r($tempArr);
Salin selepas log masuk

Di atas adalah tiga kaedah untuk mengalih keluar data pendua dengan cepat dalam tatasusunan dua dimensi. Kaedah khusus untuk digunakan bergantung pada keadaan sebenar. Jika ia hanya deduplikasi mudah, anda boleh menggunakan fungsi array_unique() jika jumlah data agak kecil, anda boleh menggunakan loop traversal jika jumlah data adalah besar, anda boleh menggunakan fungsi array_walk().

Atas ialah kandungan terperinci Bagaimana dengan cepat mengalih keluar tatasusunan dua dimensi dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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