Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mendapatkan bilangan elemen yang berbeza dalam tatasusunan dalam php

Bagaimana untuk mendapatkan bilangan elemen yang berbeza dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-26 10:21:54626semak imbas

Dalam pembangunan PHP, tatasusunan pengendalian ialah operasi yang sangat biasa. Antaranya, mendapatkan bilangan elemen berbeza dalam tatasusunan juga sangat praktikal. Artikel ini akan memperkenalkan beberapa kaedah untuk mendapatkan bilangan elemen berbeza dalam tatasusunan.

1. Gunakan fungsi array_count_values ​​

Fungsi array_count_values ​​ialah fungsi dalam PHP yang digunakan untuk mengira bilangan kejadian semua nilai dalam array. Nilai pulangannya ialah tatasusunan bersekutu, nilai utamanya ialah nilai elemen dalam tatasusunan, dan nilai elemen sepadannya ialah bilangan kali nilai elemen muncul dalam tatasusunan asal. Oleh itu, kita boleh menggunakan nilai pulangan fungsi ini untuk mendapatkan bilangan elemen berbeza dalam tatasusunan.

Contohnya adalah seperti berikut:

$arr = array(1, 2, 2, 3, 3, 3);
$values = array_count_values($arr);
$count = count($values); //不同元素个数

Hasil keluaran kod di atas ialah: 3, iaitu bilangan elemen berbeza dalam tatasusunan ialah 3.

2. Gunakan fungsi array_unique

Fungsi array_unique ialah fungsi dalam PHP yang digunakan untuk mengalih keluar elemen pendua daripada tatasusunan. Nilai pulangannya ialah tatasusunan selepas mengalih keluar elemen pendua. Oleh itu, kita boleh mendapatkan tatasusunan penduaan dengan terlebih dahulu memanggil fungsi ini, dan kemudian memanggil fungsi kiraan untuk mendapatkan bilangan elemen yang berbeza.

Contohnya adalah seperti berikut:

$arr = array(1, 2, 2, 3, 3, 3);
$unique_arr = array_unique($arr);
$count = count($unique_arr); //不同元素个数

Hasil keluaran kod di atas ialah: 3, iaitu bilangan elemen berbeza dalam tatasusunan ialah 3.

3. Gunakan gelung untuk merentasi tatasusunan

Menggelung melalui tatasusunan juga merupakan cara untuk mendapatkan bilangan elemen yang berbeza dalam tatasusunan. Kita boleh mentakrifkan tatasusunan untuk merekodkan elemen yang telah dilawati, dan apabila melintasi tatasusunan, tentukan sama ada elemen semasa telah dilawati, jika ya, langkau ia, jika tidak tambahkannya pada tatasusunan yang dilawati dan tambahkan 1 pada elemen yang berbeza kaunter .

Contohnya adalah seperti berikut:

$arr = array(1, 2, 2, 3, 3, 3);
$visited_arr = array();
$count = 0; //不同元素个数计数器
foreach ($arr as $value) {
    if (!in_array($value, $visited_arr)) { // 判断当前元素是否已经被访问过
        $visited_arr[] = $value;
        $count++;
    }
}

Hasil keluaran kod di atas ialah: 3, iaitu bilangan elemen berbeza dalam tatasusunan ialah 3.

4. Gunakan fungsi array_diff

Fungsi array_diff ialah fungsi dalam PHP yang mengira perbezaan tatasusunan. Oleh itu, kita boleh menggunakan fungsi ini untuk mendapatkan bilangan elemen yang berbeza dalam tatasusunan. Kaedah khusus ialah: pertama nyahduplikasi tatasusunan asal, kemudian lakukan set perbezaan dengan tatasusunan asal untuk mengalih keluar elemen pendua, dan kemudian panggil fungsi kiraan untuk mendapatkan bilangan elemen yang berbeza.

Contohnya adalah seperti berikut:

$arr = array(1, 2, 2, 3, 3, 3);
$unique_arr = array_unique($arr);
$diff_arr = array_diff($arr, $unique_arr);
$count = count($diff_arr); //不同元素个数

Hasil keluaran kod di atas ialah: 3, iaitu bilangan elemen berbeza dalam tatasusunan ialah 3.

Ringkasnya, kami telah memperkenalkan beberapa kaedah untuk mendapatkan bilangan elemen berbeza dalam tatasusunan. Dalam pembangunan sebenar, kaedah yang paling sesuai boleh dipilih mengikut situasi tertentu.

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan bilangan elemen yang berbeza 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