Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk mengira jenis data yang sama dalam tatasusunan dalam php

Bagaimana untuk mengira jenis data yang sama dalam tatasusunan dalam php

PHPz
PHPzasal
2023-04-24 15:50:43488semak imbas

Dalam PHP, mengira bilangan jenis data yang sama dalam tatasusunan adalah keperluan yang sangat biasa. Sebagai contoh, kira bilangan elemen jenis integer dalam tatasusunan, atau kira bilangan kejadian elemen jenis rentetan dalam tatasusunan. Artikel ini akan memperkenalkan kaedah melaksanakan tatasusunan statistik jenis data yang sama dalam PHP.

Kaedah 1: Gunakan fungsi count dan is_numeric

Pertama, kita boleh menggunakan fungsi kiraan terbina dalam PHP untuk mendapatkan panjang tatasusunan, dan kemudian gunakan fungsi is_numeric untuk menentukan sama ada elemen itu daripada jenis angka. Kodnya adalah seperti berikut:

function countNumerics($arr) {
    $count = 0;
    foreach ($arr as $el) {
        if (is_numeric($el)) {
            $count++;
        }
    }
    return $count;
}

Kod di atas menggunakan gelung foreach untuk melintasi setiap elemen dalam tatasusunan dan menggunakan fungsi is_numeric untuk menentukan sama ada elemen itu adalah jenis angka. Jika ya, tingkatkan nilai pembolehubah $count. Akhir sekali, kembalikan pembolehubah $count. Fungsi ini hanya boleh mengira bilangan elemen jenis angka Jika anda ingin mengira bilangan elemen jenis lain, anda perlu mengubah suai fungsi is_numeric untuk menjadi fungsi pertimbangan untuk jenis lain.

Kaedah 2: Gunakan fungsi array_filter dan gettype

Kaedah lain ialah menggunakan fungsi array_filter dan fungsi gettype dalam PHP. Fungsi array_filter boleh digunakan untuk menapis elemen dalam tatasusunan, dan fungsi gettype boleh mendapatkan jenis elemen. Kodnya adalah seperti berikut:

function countType($arr, $type) {
    return count(array_filter($arr, function ($el) use ($type) {
        return gettype($el) == $type;
    }));
}

Kod di atas mula-mula memanggil fungsi array_filter untuk menapis semua elemen jenis $type, dan kemudian menggunakan fungsi kiraan untuk mendapatkan panjang tatasusunan yang ditapis.

Kaedah 3: Gunakan fungsi array_reduce dan gettype

Kaedah lain ialah menggunakan fungsi array_reduce dan fungsi gettype. Fungsi array_reduce boleh digunakan untuk melaksanakan panggilan balik pada semua elemen tatasusunan, mengurangkannya kepada satu nilai. Kodnya adalah seperti berikut:

function countType($arr, $type) {
    return array_reduce($arr, function ($count, $el) use ($type) {
        return $count + (gettype($el) == $type);
    }, 0);
}

Kod di atas menggunakan fungsi array_reduce untuk merentasi setiap elemen dalam tatasusunan, dan jika jenis elemen ialah $type, kemudian tambahkan 1 pada pembolehubah $count. Akhir sekali, kembalikan pembolehubah $count.

Ringkasan

Di atas ialah tiga kaedah untuk mengira jenis data yang sama tatasusunan dalam PHP. Setiap daripada tiga kaedah ini adalah berbeza, dan yang mana satu yang anda pilih bergantung pada keperluan khusus anda dan gaya pengekodan. Jika anda hanya perlu mengira bilangan elemen bagi satu jenis data, kaedah satu ialah penyelesaian yang mudah. Jika anda perlu mengira berbilang jenis, atau mahukan struktur kod yang lebih jelas, anda boleh memilih kaedah dua atau tiga.

Atas ialah kandungan terperinci Bagaimana untuk mengira jenis data 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