Bagaimana untuk mengekalkan korespondensi nilai kunci selepas penyahduplikasian dalam tatasusunan PHP?

王林
Lepaskan: 2024-04-27 12:33:02
asal
601 orang telah melayarinya

Kaedah untuk mengekalkan korespondensi nilai kunci selepas penyahduplikasi tatasusunan PHP ialah: gunakan fungsi array_unique() untuk mengalih keluar nilai pendua, dan kemudian gunakan fungsi array_flip() untuk menukar pasangan nilai kunci. Gabungkan tatasusunan asal dengan tatasusunan pendua, dan gunakan kaedah penggabungan tatasusunan untuk mengekalkan surat-menyurat nilai kunci. Tatasusunan PHP mengekalkan surat-menyurat nilai kunci selepas penyahduplikasian Tutorial ini akan menunjukkan kepada anda cara menggunakan fungsi array_unique() dalam kombinasi dengan kaedah lain untuk mencapai matlamat ini.

PHP 数组去重后如何保持键值对应?array_unique() function

array_unique() fungsi boleh digunakan untuk mengalih keluar nilai pendua daripada tatasusunan. Secara lalai, ia membandingkan nilai dalam tatasusunan dan mengekalkan korespondensi nilai kunci kejadian pertama. Contoh Kod Satu cara ialah menggunakan fungsi array_flip(), yang menukar kunci dan nilai pasangan nilai kunci.

Contoh kod

$array = ['foo', 'bar', 'baz', 'foo', 'xyz'];

$uniqueArray = array_unique($array);

print_r($uniqueArray);
Salin selepas log masuk

Output:

Array
(
    [0] => foo
    [1] => bar
    [2] => baz
    [4] => xyz
)
Salin selepas log masuk
array_unique() 函数并结合其他方法来实现这一目标。

array_unique() 函数

array_unique() 函数可用于从数组中删除重复值。默认情况下,它会对数组中的值进行比较,并保留第一个出现的值的键值对应。

代码示例

$flippedArray = array_flip($uniqueArray);

print_r($flippedArray);
Salin selepas log masuk

输出:

Array
(
    [foo] => 0
    [bar] => 1
    [baz] => 2
    [xyz] => 4
)
Salin selepas log masuk

保持键值对应

为了保持数组中元素的键值对应,我们需要使用额外的步骤。一种方法是使用 array_flip()Kini, kami mempunyai tatasusunan unik yang menyimpan surat-menyurat nilai kunci.

Menggunakan cantuman

Cara lain untuk mengekalkan surat-menyurat nilai kunci ialah menggunakan cantuman tatasusunan. Kaedah ini mencipta tatasusunan bersekutu baharu menggunakan tatasusunan asal dan tatasusunan nyahduplikasi.

Contoh Kod

$newArray = array_merge($array, $uniqueArray);

print_r($newArray);
Salin selepas log masuk
Output:

Array
(
    [0] => foo
    [3] => foo
    [1] => bar
    [4] => baz
    [2] => xyz
)
Salin selepas log masuk

Kaedah ini tidak menapis nilai pendua, tetapi ia mengekalkan korespondensi nilai kunci tatasusunan asal.

Atas ialah kandungan terperinci Bagaimana untuk mengekalkan korespondensi nilai kunci selepas penyahduplikasian dalam tatasusunan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!