Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana dengan cepat mengalih keluar tatasusunan dua dimensi dalam php
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:
rreeeHasil 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!