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

Bagaimana untuk memadam nilai yang sama dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-23 10:21:53454semak imbas

PHP ialah bahasa pengaturcaraan yang sangat popular dalam pembangunan web, dan sangat biasa untuk menggunakan tatasusunan dalam pembangunan web. Tetapi apabila ia datang untuk memadam nilai yang sama dalam tatasusunan, kadangkala anda menghadapi situasi. Dalam artikel ini, kami akan memperkenalkan cara memadam nilai yang sama dalam tatasusunan menggunakan bahasa pengaturcaraan PHP.

Semak asas tatasusunan PHP. Dalam PHP, tatasusunan ialah jenis pembolehubah khas yang digunakan untuk menyimpan satu set nilai (elemen). Setiap elemen mempunyai kunci dan nilai. Kekunci boleh menjadi integer atau rentetan tetapi nilai boleh berupa apa-apa jenis data seperti nombor, rentetan, objek dan banyak lagi.

PHP menyediakan banyak fungsi tatasusunan berguna untuk mengendalikan dan mengendalikan tatasusunan. Fungsi seperti array_unique() boleh mengalih keluar elemen pendua dalam tatasusunan, tetapi kadangkala hanya mengalih keluar elemen pendua tidak mencukupi, kita perlu mengalih keluar nilai pendua daripada tatasusunan (walaupun ia muncul beberapa kali dalam tatasusunan). Mari lihat bagaimana untuk melakukan ini.

Pertama, kami mempunyai tatasusunan yang mengandungi unsur pendua. Di bawah ialah tatasusunan contoh.

$numbers = tatasusunan(1, 2, 3, 4, 3, 5, 6, 2, 7, 8, 6, 1);

Matlamat kami adalah untuk memadam daripada tatasusunan Nilai yang sama, jadi kita perlu mencari nilai tersebut terlebih dahulu. Untuk melakukan ini, kita boleh menggunakan fungsi array_count_values() dalam PHP. Fungsi ini akan mengira kejadian setiap nilai dalam tatasusunan dan mengembalikan tatasusunan baharu yang mengandungi nilai dan kejadiannya.

Berikut ialah kod sampel yang menggunakan fungsi array_count_values() untuk mengira bilangan kejadian setiap nilai dalam tatasusunan.

$counted = array_count_values($numbers);
print_r($counted);

Hasil output adalah seperti berikut:

Array
(

[1] => 2
[2] => 2
[3] => 2
[4] => 1
[5] => 1
[6] => 2
[7] => 1
[8] => 1

)

Seperti yang anda boleh lihat daripada output, setiap nilai dalam tatasusunan dan bilangan kejadiannya dikira. Seterusnya, kita perlu mengalih keluar nilai yang berlaku lebih daripada 1 daripada tatasusunan asal.

Untuk ini kita perlu menggunakan gelung foreach dalam PHP. Kami akan mengulangi tatasusunan baru yang dikira dan memadamkan nilai yang sama di dalamnya. Di bawah adalah contoh kod.

foreach($counted as $key => $value){

if($value > 1){
    for($i=0;$i<$value-1;$i++){
        $keyToDelete = array_search($key, $numbers);
        unset($numbers[$keyToDelete]);
    }
}

}

Mari kita lihat cara kod di atas berfungsi. Kami menggunakan gelung foreach untuk mengulangi tatasusunan baharu yang dikira. Jika nilai muncul dua kali atau lebih, kami akan menggunakan gelung for untuk mengalih keluar semua nilai pendua lain dalam tatasusunan. Kami menggunakan fungsi array_search() untuk mencari kunci untuk dipadamkan dalam tatasusunan dan menggunakan fungsi unset() untuk memadamnya daripada tatasusunan.

Sekarang, mari cetak tatasusunan baharu untuk memastikan semua nilai yang sama telah dialih keluar.

print_r($numbers);

Hasil output adalah seperti berikut:

Array
(

[0] => 1
[1] => 2
[2] => 3
[3] => 4
[5] => 5
[6] => 6
[8] => 7
[9] => 8

)

kami Seperti yang anda lihat, semua nilai yang sama dalam tatasusunan asal telah dialih keluar.

Dalam pembangunan web, terutamanya apabila berurusan dengan borang dan pangkalan data, memadamkan nilai yang sama dalam tatasusunan adalah operasi yang sangat diperlukan dan berguna. Menggunakan bahasa pengaturcaraan PHP kita boleh mencapai ini dengan mudah.

Atas ialah kandungan terperinci Bagaimana untuk memadam nilai 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