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.
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);
Array ( [0] => foo [1] => bar [2] => baz [4] => xyz )
array_unique()
函数并结合其他方法来实现这一目标。array_unique() 函数
array_unique()
函数可用于从数组中删除重复值。默认情况下,它会对数组中的值进行比较,并保留第一个出现的值的键值对应。
代码示例
$flippedArray = array_flip($uniqueArray); print_r($flippedArray);
输出:
Array ( [foo] => 0 [bar] => 1 [baz] => 2 [xyz] => 4 )
保持键值对应
为了保持数组中元素的键值对应,我们需要使用额外的步骤。一种方法是使用 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);
Array ( [0] => foo [3] => foo [1] => bar [4] => baz [2] => xyz )
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!