


Bolehkah PHP Array Deduplication mengekalkan elemen terakhir yang muncul?
Array PHP Unik Keep Elemen Terakhir?
Soalan ini bertanya tentang mengubahsuai tingkah laku fungsi PHP array_unique()
. Secara lalai, array_unique()
memelihara pertama kejadian elemen pendua dan menghilangkan pendua berikutnya. Walau bagaimanapun, tidak ada pilihan terbina dalam untuk membalikkan tingkah laku ini dan mengekalkan kejadian yang terakhir. Untuk mencapai ini, anda memerlukan penyelesaian tersuai. Kita boleh memanfaatkan , array_reverse()
, dan kemudian array_unique()
sekali lagi untuk mengekalkan kejadian terakhir. Akhirnya, ia membalikkan array kembali ke urutan asalnya, mengekalkan kejadian terakhir. Parameter array_reverse()
dalam
<?php function array_unique_last($array) { return array_reverse(array_unique(array_reverse($array, true), SORT_REGULAR), true); } $array = [1, 2, 3, 2, 4, 1, 5, 3]; $uniqueArray = array_unique_last($array); print_r($uniqueArray); // Output: Array ( [0] => 5 [1] => 3 [2] => 4 [3] => 2 [4] => 1 ) ?>
. Percubaan untuk mengubah suai kerja dalaman array_unique()
tidak disyorkan dan pada umumnya mustahil tanpa mengubahsuai kod sumber PHP itu sendiri. Walau bagaimanapun, seperti yang ditunjukkan sebelum ini, gabungan , , dan true
menyediakan penyelesaian yang mudah dan agak efisien untuk kebanyakan kes penggunaan. Kecekapan berpunca dari fakta bahawa array_reverse()
adalah fungsi yang agak dioptimumkan itu sendiri. Walaupun pendekatan lain, seperti meleleh melalui array dan menggunakan array sementara untuk mengesan kejadian terakhir, adalah mungkin, kaedah pembalikan umumnya lebih ringkas dan sering dilakukan dengan baik, terutama untuk tatasusunan yang tidak begitu besar.
Bagaimanakah saya dapat mencapai nilai array yang unik dalam php, mengutamakan elemen terakhir yang ditemui lebih awal? Kuncinya adalah untuk membalikkan array, gunakan
untuk mengekalkan kejadian pertama (sekarang terakhir), dan kemudian membalikkannya kembali. Ini memastikan bahawa kejadian terakhir setiap nilai pendua dikekalkan semasa kejadian terdahulu dibuang. Ingatlah untuk menggunakan bendera dengan array_unique()
untuk memastikan perbandingan dilakukan dengan betul untuk jenis data yang berbeza. Kaedah ini biasanya disukai daripada lelaran manual kerana kesimpulannya dan prestasi yang sering dibandingkan, menjadikannya penyelesaian praktikal untuk banyak senario. SORT_REGULAR
Atas ialah kandungan terperinci Bolehkah PHP Array Deduplication mengekalkan elemen terakhir yang muncul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas









