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

Bagaimana untuk menanyakan bilangan nilai yang sama dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-19 11:29:081002semak imbas

Dalam pembangunan PHP, pemprosesan tatasusunan adalah tugas yang sangat biasa, dan untuk tatasusunan yang besar dan tidak kemas, kita mungkin perlu menanyakan bilangan nilai yang sama di dalamnya. Artikel ini akan memperkenalkan secara terperinci cara menggunakan PHP untuk menanyakan bilangan nilai yang sama dalam tatasusunan.

1. Gunakan fungsi array_count_values()

PHP menyediakan fungsi array_count_values(), yang boleh mengira bilangan kejadian setiap elemen dalam tatasusunan dan mengembalikan tatasusunan bersekutu kunci mewakili nilai dalam tatasusunan, dan nilai mewakili bilangan kejadian nilai dalam tatasusunan. Kita hanya boleh mengira bilangan nilai yang sama dalam tatasusunan berdasarkan prinsip ini.

Berikut ialah contoh kod yang menggunakan fungsi array_count_values() untuk mengira bilangan nilai yang sama dalam tatasusunan:

$arr = array('apple', 'banana', 'orange', 'apple', 'apple', 'banana');

$countArr = array_count_values($arr);

foreach($countArr as $key => $value) {
    echo $key . ':' . $value . '<br />';
}

Hasil output ialah:

apple:3
banana:2
orange:1

2. Menggunakan gelung foreach untuk melaksanakan

Kita juga boleh menggunakan gelung foreach untuk merentasi tatasusunan, mengeluarkan setiap elemen satu demi satu dan mengira bilangan kejadian dalam tatasusunan. Kodnya adalah seperti berikut:

$arr = array('apple', 'banana', 'orange', 'apple', 'apple', 'banana');

$countArr = array();

foreach($arr as $val) {
    if(isset($countArr[$val])) {
        $countArr[$val]++;
    }
    else {
        $countArr[$val] = 1;
    }
}

foreach($countArr as $key => $value) {
    echo $key . ':' . $value . '<br />';
}

Hasil output adalah sama seperti di atas.

3. Gunakan fungsi array_unique() dan array_diff_assoc() untuk mencapai

Cara lain ialah menggabungkan fungsi array_unique() dan array_diff_assoc() untuk mencapainya, iaitu penggunaan pertama fungsi array_unique() untuk Repeat, kemudian gunakan fungsi array_diff_assoc() untuk mendapatkan perbezaan antara tatasusunan asal dan tatasusunan selepas penyahduaan, dan akhirnya menambah hasilnya sebagai kunci kepada tatasusunan kosong, dan kira bilangan kejadian. Kodnya adalah seperti berikut:

$arr = array('apple', 'banana', 'orange', 'apple', 'apple', 'banana');

$uniqueArr = array_unique($arr);

$diffArr = array_diff_assoc($arr, $uniqueArr);

$countArr = array();

foreach($diffArr as $val) {
    if(isset($countArr[$val])) {
        $countArr[$val]++;
    }
    else {
        $countArr[$val] = 1;
    }
}

foreach($countArr as $key => $value) {
    echo $key . ':' . $value . '<br />';
}

Hasil output adalah sama seperti di atas.

Ringkasan

Artikel ini memperkenalkan tiga kaedah untuk menanyakan bilangan nilai yang sama dalam tatasusunan PHP, termasuk menggunakan fungsi array_count_values(), menggunakan pelaksanaan gelung foreach dan menggunakan array_unique () fungsi dan pelaksanaan fungsi array_diff_assoc(). Untuk tatasusunan yang lebih kecil, mana-mana kaedah akan berfungsi untuk tatasusunan yang lebih besar, kaedah ketiga akan lebih pantas. Kita boleh memilih kaedah yang sesuai dengan kita mengikut situasi sebenar untuk menanyakan nilai yang sama dalam tatasusunan.

Atas ialah kandungan terperinci Bagaimana untuk menanyakan bilangan 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