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

王林
王林asal
2023-05-19 13:28:37795semak imbas

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);

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] => 小红
        )
)

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);

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] => 小红
        )

)

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);

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