Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memadam elemen yang sama dalam tatasusunan dalam php

Bagaimana untuk memadam elemen yang sama dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-25 17:36:23837semak imbas

Dalam pembangunan web, manipulasi tatasusunan ialah kemahiran yang sangat biasa dan penting. Terdapat banyak cara untuk mengendalikan tatasusunan dalam PHP, termasuk menambah, mengubah suai dan memadamkan elemen daripada tatasusunan. Artikel ini akan menumpukan pada cara memadam elemen yang sama menggunakan salah satu operasi tatasusunan PHP.

Elemen yang sama dalam tatasusunan selalunya memberi kesan negatif pada logik kod, contohnya, data pendua boleh menjadikan pelaksanaan kod tidak cekap. Nasib baik, PHP menyediakan penyelesaian kepada masalah ini.

Pertama, mari kita lihat beberapa cara untuk memadamkan elemen yang sama dalam tatasusunan dalam PHP.

Kaedah 1: Gunakan fungsi array_unique

Fungsi array_unique ialah fungsi pembungkusan dalam PHP yang digunakan untuk mengalih keluar nilai pendua daripada tatasusunan. Fungsi ini mengembalikan tatasusunan baharu yang mengandungi hanya nilai unik daripada tatasusunan asal. Penggunaan khusus adalah seperti berikut:

$array = array('东京', '纽约', '上海', '纽约');
$array = array_unique($array);
print_r($array);

Hasil keluaran:

Array
(
    [0] => 东京
    [1] => 纽约
    [2] => 上海
)

Kaedah 2: Gunakan untuk gelung

Gunakan gelung untuk melintasi tatasusunan dan bandingkan sama ada setiap elemen ialah hasil tambah Jika elemen sebelumnya adalah sama, padamkan elemen tersebut. Kod khusus adalah seperti berikut:

$array = array('东京', '纽约', '上海', '纽约');
for ($i = 0; $i < count($array); $i++) {
    for ($j = $i + 1; $j < count($array); $j++) {
        if ($array[$i] == $array[$j]) {
            array_splice($array, $j, 1);
            $j--;
        }
    }
}
print_r($array);

Hasil keluaran:

Array
(
    [0] => 东京
    [1] => 纽约
    [2] => 上海
)

Kaedah 3: Gunakan fungsi array_flip dan array_keys

fungsi array_flip boleh menukar kunci dan nilai ​dalam tatasusunan, dan fungsi array_keys boleh mengembalikan semua kunci dalam tatasusunan. Menggabungkan kedua-dua fungsi ini, kita boleh mengalih keluar elemen pendua dengan mudah daripada tatasusunan.

Kod khusus adalah seperti berikut:

$array = array('东京', '纽约', '上海', '纽约');
$array = array_flip($array);
$array = array_keys($array);
print_r($array);

Hasil keluaran:

Array
(
    [0] => 东京
    [1] => 纽约
    [2] => 上海
)

Tiga kaedah di atas semuanya boleh mencapai operasi memadam elemen yang sama dalam tatasusunan, tetapi antaranya Kaedah pelaksanaan adalah berbeza. Kaedah mana yang sesuai untuk senario pembangunan anda bergantung pada keadaan.

Perlu dinyatakan bahawa operasi memadam elemen yang sama dalam tatasusunan tidak semestinya memerlukan penggunaan fungsi yang disediakan oleh PHP Kadangkala kita juga boleh mencapai operasi ini dengan menulis kod kita sendiri. Berikut ialah contoh:

Kaedah 4: Tulis fungsi pemadaman anda sendiri

function delSameValue(array $array) {
    $result = array();
    foreach ($array as $value) {
        if (!in_array($value, $result)) {
            $result[] = $value;
        }
    }
    return $result;
}

$array = array('东京', '纽约', '上海', '纽约');
$array = delSameValue($array);
print_r($array);

Hasil keluaran:

Array
(
    [0] => 东京
    [1] => 纽约
    [2] => 上海
)

Kaedah di atas hanya memadam beberapa daripada yang sama elemen dalam tatasusunan Dengan cara ini, jika anda memerlukan operasi tatasusunan selanjutnya, anda perlu terus mempelajari fungsi dan teknik lain yang berkaitan dalam PHP. Pada masa yang sama, anda perlu memberi perhatian untuk memilih kaedah yang optimum untuk menyelesaikan masalah mengikut situasi sebenar semasa memproses tatasusunan, untuk mendapatkan kecekapan pelaksanaan yang lebih baik dan kod yang lebih mudah.

Atas ialah kandungan terperinci Bagaimana untuk memadam elemen yang sama dalam tatasusunan dalam 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