Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan deduplikasi tatasusunan dan menukar subskrip dalam PHP

Bagaimana untuk melaksanakan deduplikasi tatasusunan dan menukar subskrip dalam PHP

PHPz
PHPzasal
2023-04-19 09:19:22718semak imbas

Dalam proses menggunakan PHP untuk membangunkan, penyahduplikasian tatasusunan adalah operasi biasa, tetapi dalam banyak kes kita bukan sahaja perlu menyahduplikasi, tetapi juga perlu menukar subskrip tatasusunan, yang memerlukan kita memproses hasil penduaan . Artikel ini akan memperkenalkan cara menggunakan PHP untuk menyahduplikasi tatasusunan dan menukar subskrip.

1. Gunakan fungsi array_unique() untuk menyahduplikasi tatasusunan

Dalam PHP, kita boleh menggunakan fungsi array_unique() untuk menyahduplikasikan tatasusunan dan mengembalikannya tatasusunan baharu. Contohnya:

$arr = array('apple', 'banana', 'orange', 'apple', 'pear');
$new_arr = array_unique($arr);
print_r($new_arr);

Hasil output ialah:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [4] => pear
)

Dalam contoh di atas, tatasusunan asal $arr mengandungi dua 'apple's, gunakan fungsi array_unique() untuk Selepas penyahduplikasian , tatasusunan baru $new_arr diperoleh, dan hanya satu 'epal' dikekalkan dalam hasilnya.

2. Gunakan gelung foreach untuk menyahduplikasi tatasusunan dan menukar subskrip

Walaupun fungsi array_unique() boleh digunakan untuk menyahduplikasi tatasusunan dengan mudah, tiada cara untuk mengawal subskrip baharu . subskrip, di bawah kami akan menunjukkan cara menggunakan gelung foreach untuk menyahduplikasi tatasusunan dan menukar subskrip.

$arr = array('apple', 'banana', 'orange', 'apple', 'pear');
$new_arr = array();
foreach ($arr as $key=>$value) {
    if (!in_array($value, $new_arr)) {
        $new_arr[] = $value;
    }
}
print_r($new_arr);

Di sini kita mula-mula mentakrifkan tatasusunan kosong baharu $new_arr, dan kemudian gunakan gelung foreach untuk melintasi tatasusunan asal $arr untuk menentukan sama ada setiap nilai wujud dalam $new_arr, dan jika ia tidak wujud, tambahkannya pada $ dalam new_arr. Kelebihan pendekatan ini ialah tatasusunan boleh diubah suai dengan mengawal subskrip secara manual.

Jika kita ingin mengekalkan nilai pendua terakhir dalam tatasusunan asal, kita perlu mengubahnya sedikit Kita boleh menggunakan fungsi array_reverse() untuk membalikkan tatasusunan asal, supaya elemen pendua terakhir dikekalkan semasa. deduplikasi, contohnya :

$arr = array('apple', 'banana', 'orange', 'apple', 'pear', 'banana');
$new_arr = array();
$arr = array_reverse($arr);
foreach ($arr as $key=>$value) {
    if (!in_array($value, $new_arr)) {
        $new_arr[$key] = $value;
    }
}
$new_arr = array_reverse($new_arr);
print_r($new_arr);

Dalam contoh di atas, kita mula-mula membalikkan tatasusunan asal, kemudian menggunakan gelung foreach untuk melintasi, dan menetapkan subskrip tatasusunan baharu kepada subskrip kejadian terakhir bagi elemen dalam tatasusunan asal.

3. Gunakan fungsi array_flip() untuk menyahduplikasi tatasusunan dan menukar subskrip

Satu lagi cara biasa untuk menyahduplikasi tatasusunan ialah menggunakan fungsi array_flip(), yang boleh menukar elemen dalam kunci tatasusunan dan nilai. Jika terdapat nilai pendua dalam tatasusunan, kekunci seterusnya akan menimpa kekunci sebelumnya, sekali gus mencapai operasi penyahduaan, dan subskrip tatasusunan baharu boleh diperolehi melalui fungsi array_keys(). Contohnya:

$arr = array('apple', 'banana', 'orange', 'apple', 'pear', 'banana');
$new_arr = array_flip($arr);
$new_arr = array_keys($new_arr);
print_r($new_arr);

Hasil keluarannya ialah:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [4] => pear
)

Dalam contoh di atas, kita mula-mula menggunakan fungsi array_flip() untuk menyahduplikasi tatasusunan asal dan menambah bahagian bawah tatasusunan baharu kepada Indeks ditetapkan kepada nilai tatasusunan asal, dan kemudian fungsi tatasusunan_keys() digunakan untuk mendapatkan tatasusunan indeks tatasusunan baharu. Kaedah ini mudah dan mudah digunakan, tetapi ia mudah diganggu oleh susunan subskrip tatasusunan baharu.

4. Ringkasan

Di atas ialah cara untuk menyahduplikasi tatasusunan dan menukar subskrip dalam PHP Kaedah yang berbeza boleh dipilih mengikut senario sebenar yang berbeza. Perlu diingatkan bahawa kaedah ini semua mengubah suai tatasusunan asal Jika anda perlu mengekalkan tatasusunan asal, anda perlu menggunakan salinan untuk beroperasi. Pada masa yang sama, operasi deduplikasi pada tatasusunan biasanya memerlukan penggunaan fungsi perbandingan Ini adalah topik yang agak kompleks dan tidak dijelaskan terlalu banyak dalam artikel ini.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan deduplikasi tatasusunan dan menukar subskrip 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