Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menyahduplikasi dan mengalih keluar elemen pendua dalam tatasusunan PHP

Bagaimana untuk menyahduplikasi dan mengalih keluar elemen pendua dalam tatasusunan PHP

王林
王林asal
2023-09-05 15:00:141351semak imbas

如何在 PHP 数组中去重和删除重复的元素

Cara menyahduplikasi dan memadamkan elemen pendua dalam tatasusunan PHP

Dalam pembangunan PHP, apabila ia melibatkan operasi tatasusunan, kadangkala perlu untuk mengalih keluar elemen pendua dalam tatasusunan. Artikel ini menerangkan cara menggunakan kaedah berbeza untuk menyahduplikasi dan mengalih keluar elemen pendua serta menyediakan contoh kod.

Kaedah 1: Gunakan fungsi array_unique() untuk mengalih keluar pendua

PHP menyediakan fungsi array_unique() untuk mengalih keluar elemen pendua dalam tatasusunan. Fungsi ini mengembalikan tatasusunan baharu yang mengandungi kandungan tatasusunan asal selepas mengalih keluar elemen pendua.

Kod sampel:

<?php
$array = array('apple', 'banana', 'orange', 'apple', 'grape', 'banana');

$result = array_unique($array);

print_r($result);
?>

Hasil keluaran:

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

Kaedah 2: Gunakan gelung untuk melintasi tatasusunan untuk mengalih keluar pendua

Selain menggunakan fungsi array_unique(), anda juga boleh melakukan penyahduplikasian dengan menggelung melalui tatasusunan. Langkah-langkah khusus adalah seperti berikut:

  1. Buat tatasusunan kosong baharu untuk menyimpan elemen penduaan
  2. Lintas setiap elemen dalam tatasusunan asal
  3. Tentukan sama ada elemen semasa sudah wujud dalam tatasusunan baharu, jika tidak Kemudian tambahkannya; kepada tatasusunan baharu;
  4. Tatasusunan baharu akhirnya diperolehi adalah hasil selepas penduaan.

Contoh kod:

<?php
$array = array('apple', 'banana', 'orange', 'apple', 'grape', 'banana');

$newArray = array();

foreach($array as $value) {
    if(!in_array($value, $newArray)) {
        $newArray[] = $value;
    }
}

print_r($newArray);
?>

Hasil keluaran:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => grape
)

Kaedah 3: Gunakan fungsi array_flip() untuk mengalih keluar pendua

Dalam beberapa kes, jika elemen dalam tatasusunan adalah unik, anda boleh menggunakan fungsi Swap_flip() kunci dan nilai untuk mencapai kesan deduplikasi. Perlu diingat bahawa menggunakan kaedah ini akan memadamkan kunci pendua dalam pasangan nilai kunci, dan hanya nilai pendua pertama akan dikekalkan.

Kod sampel:

<?php
$array = array('apple', 'banana', 'orange', 'apple', 'grape', 'banana');

$newArray = array_flip($array);

print_r($newArray);
?>

Hasil keluaran:

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

Kaedah 4: Gunakan fungsi array_values() untuk mengindeks semula array

Jika anda mahu indeks tatasusunan selepas penyahduplikasian meningkat secara berterusan daripada 0, anda boleh menggunakan array_values () berfungsi untuk mengindeks semula tatasusunan.

Kod sampel:

<?php
$array = array('apple', 'banana', 'orange', 'apple', 'grape', 'banana');

$result = array_unique($array);

$newArray = array_values($result);

print_r($newArray);
?>

Hasil keluaran:

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => grape
)

Ringkasan

Dalam pembangunan PHP, penyahduplikasi dan pemadaman elemen pendua adalah keperluan operasi biasa. Artikel ini menerangkan cara untuk mencapai penyahduplikasian menggunakan kaedah yang berbeza seperti fungsi array_unique(), gelung pada tatasusunan, fungsi array_flip() dan fungsi array_values() dan menyediakan contoh kod yang sepadan. Pembangun boleh memilih kaedah yang sesuai untuk mengendalikan tatasusunan mengikut situasi sebenar.

Atas ialah kandungan terperinci Bagaimana untuk menyahduplikasi dan mengalih keluar elemen pendua dalam tatasusunan 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