Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk membuang pendua dalam php tanpa fungsi tatasusunan

Bagaimana untuk membuang pendua dalam php tanpa fungsi tatasusunan

Apr 18, 2023 pm 03:20 PM

Bahasa PHP ialah bahasa pengaturcaraan yang sangat popular hari ini. Fungsi fungsi tatasusunan yang berkuasa telah dikuasai dan digunakan oleh semakin ramai pengaturcara semasa proses pembangunan. Walau bagaimanapun, pengaturcara PHP muda mungkin tidak tahu bahawa bahasa PHP tidak memerlukan penggunaan fungsi tatasusunan untuk melaksanakan operasi penyahduplikasian tatasusunan. Dalam artikel ini, kami akan meneroka pelbagai kaedah penyahduplikasi tatasusunan dalam bahasa PHP, dan memahami serta menguasai prinsip pelaksanaannya.

Penyahduplikasi tatasusunan ialah operasi data asas yang boleh mengalih keluar data pendua dengan berkesan dan menjimatkan ruang storan dan sumber pengkomputeran untuk pembangun. Dalam PHP, kami biasanya menggunakan fungsi tatasusunan seperti array_unique untuk melaksanakan operasi deduplikasi, tetapi sebenarnya, beberapa ciri bahasa yang terbina dalam bahasa PHP boleh digunakan untuk mencapai fungsi yang sama, dan kaedah ini lebih cekap dan fleksibel daripada menggunakan fungsi tatasusunan untuk mengalih keluar pendua.

Kaedah 1: Gunakan prinsip pertukaran nilai kunci untuk mencapai penyahduplikasi tatasusunan

Dalam PHP, tatasusunan adalah dalam bentuk pasangan nilai kunci, dan nilai yang sepadan boleh diakses terus melalui nama kunci (Kunci) (Nilai), dan nama kunci boleh berupa sebarang integer atau rentetan. Oleh itu, kita boleh menggunakan ciri ini untuk mencapai tujuan penyahduplikasian dengan menukar nilai dan nama kunci tatasusunan. Kaedah pelaksanaan khusus adalah seperti berikut:

<?php
//需要去重的数组
$origin = array(1, 2, 3, 3, 4, 4, 5);

//数组去重核心代码
foreach ($origin as $key => $val) {
    $tmp[$val] = 1;
}
$unique = array_keys($tmp);

//输出结果
print_r($unique);
?>
Salin selepas log masuk

Dalam kod ini, kita mula-mula menggunakan gelung foreach untuk melintasi tatasusunan, menggunakan nilai yang sepadan sebagai nama kunci dan 1 sebagai nilai yang sepadan. Oleh kerana nama kunci adalah unik, nilai yang berbeza akan diberikan kepada nama kunci yang berbeza, dan nilai yang sama akan menimpa nama kunci asal, dengan itu mencapai tujuan penyahduplikasian. Akhir sekali, semua nama kunci diekstrak melalui fungsi array_keys dan dibentuk menjadi tatasusunan baharu.

Kaedah 2: Gunakan fungsi array_flip untuk menukar nama dan nilai utama untuk mencapai penyahduplikasi tatasusunan

Berbanding dengan kaedah 1 di atas, kaedah penyahduplikasian ini lebih ringkas. Kita boleh menggunakan array_flip fungsi tatasusunan terbina dalam PHP untuk menukar nama utama dan nilai tatasusunan asal untuk mencapai kesan penyahduplikasian.

<?php
//需要去重的数组
$origin = array(1, 2, 3, 3, 4, 4, 5);

//数组去重核心代码
$unique = array_keys(array_flip($origin));

//输出结果
print_r($unique);
?>
Salin selepas log masuk

Dalam kod ini, kami mula-mula menggunakan fungsi array_flip untuk menukar nama kunci dan kedudukan nilai tatasusunan asal, supaya nilai berulang menjadi nama kunci berulang, dan nama kunci mestilah unik , sekali gus mencapai kesan penyahduplikasian. Akhir sekali, kami menggunakan fungsi array_keys sekali lagi untuk mengekstrak semua nama kunci dan menjana tatasusunan nyahduplikasi baharu.

Kaedah 3: Gunakan fungsi array_diff untuk melaksanakan operasi perbezaan tatasusunan

Kaedah penyahduplikasian ini berbeza daripada dua kaedah pertama ia menyahduplikasi dengan mengira perbezaan tatasusunan. Kaedah pelaksanaan khusus adalah seperti berikut:

<?php
//需要去重的数组
$origin = array(1, 2, 3, 3, 4, 4, 5);

//数组去重核心代码
$unique = array_diff($origin, array_diff_assoc($origin, array_unique($origin)));

//输出结果
print_r($unique);
?>
Salin selepas log masuk

Dalam kod ini, kita mula-mula menggunakan fungsi array_unique untuk mendapatkan tatasusunan yang dinyahduplikasi. Kemudian, kami menggunakan fungsi array_diff_assoc untuk membandingkan tatasusunan asal dan tatasusunan pendua, dan dapatkan bahagian yang nama kunci dan nilai kuncinya berbeza, iaitu bahagian pendua. Akhir sekali, kami menggunakan fungsi array_diff sekali lagi untuk mengalih keluar bahagian pendua dan mendapatkan tatasusunan pendua akhir.

Ringkasnya, kami telah membincangkan tiga kaedah penyahduplikasi tatasusunan terbina dalam dalam bahasa PHP. Semua kaedah mempunyai kelebihan tersendiri dan senario yang boleh digunakan Penguasaan fleksibel kaedah ini boleh menjimatkan masa kita, menjimatkan sumber dan meningkatkan kebolehbacaan dan kebolehselenggaraan kod. Oleh itu, pengaturcara harus memilih kaedah penyahduplikasian yang berbeza mengikut situasi tertentu dalam pembangunan harian untuk memastikan operasi kod yang cekap.

Atas ialah kandungan terperinci Bagaimana untuk membuang pendua dalam php tanpa fungsi tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. Mar 25, 2025 am 10:37 AM

Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Penyulitan PHP: Penyulitan simetri vs asimetrik. Penyulitan PHP: Penyulitan simetri vs asimetrik. Mar 25, 2025 pm 03:12 PM

Artikel ini membincangkan penyulitan simetri dan asimetrik dalam PHP, membandingkan kesesuaian, prestasi, dan perbezaan keselamatan mereka. Penyulitan simetri lebih cepat dan sesuai untuk data pukal, manakala asimetrik digunakan untuk pertukaran utama yang selamat.

Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Mar 25, 2025 pm 03:06 PM

Artikel ini membincangkan pelaksanaan pengesahan dan kebenaran yang mantap dalam PHP untuk mencegah akses yang tidak dibenarkan, memperincikan amalan terbaik dan mengesyorkan alat peningkatan keselamatan.

PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. Mar 25, 2025 pm 03:05 PM

Artikel ini membincangkan strategi untuk mencegah serangan CSRF di PHP, termasuk menggunakan token CSRF, kuki tapak yang sama, dan pengurusan sesi yang betul.

PHP API Kadar Mengehadkan: Strategi Pelaksanaan. PHP API Kadar Mengehadkan: Strategi Pelaksanaan. Mar 26, 2025 pm 04:16 PM

Artikel ini membincangkan strategi untuk melaksanakan kadar API yang mengehadkan PHP, termasuk algoritma seperti baldi token dan baldi bocor, dan menggunakan perpustakaan seperti simfoni/kadar-limiter. Ia juga meliputi pemantauan, had kadar penyesuaian secara dinamik, dan tangan

Pengesahan Input PHP: Amalan Terbaik. Pengesahan Input PHP: Amalan Terbaik. Mar 26, 2025 pm 04:17 PM

Artikel membincangkan amalan terbaik untuk pengesahan input PHP untuk meningkatkan keselamatan, memberi tumpuan kepada teknik seperti menggunakan fungsi terbina dalam, pendekatan putih, dan pengesahan sisi pelayan.

See all articles