Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP menentukan berapa banyak jenis data yang ada pada tatasusunan

PHP menentukan berapa banyak jenis data yang ada pada tatasusunan

PHPz
PHPzasal
2023-04-18 09:05:26470semak imbas

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dalam bidang pembangunan web Ia menyediakan perpustakaan fungsi yang kaya dan ciri bahasa, termasuk operasi tatasusunan dan fungsi lain. Dalam PHP, pelbagai kaedah boleh digunakan untuk menentukan bilangan jenis data yang ada pada tatasusunan.

1. Gunakan fungsi kiraan

Fungsi kira ialah fungsi terbina dalam PHP Menggunakan fungsi ini dalam tatasusunan boleh digunakan untuk mendapatkan bilangan elemen dalam tatasusunan, dan kemudian tentukan berapa banyak elemen yang terdapat pada tatasusunan. Berikut ialah contoh kod ringkas:

<?php  
$array = array(1,2,&#39;hello&#39;,3.14,true,array(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;));  
$length = count($array);  
echo &#39;数组中元素的个数为:&#39;.$length.&#39;,类型个数为:&#39;.count(array_unique(array_map(&#39;gettype&#39;,$array)));  
?>

Dalam kod di atas, kami mentakrifkan tatasusunan yang mengandungi berbilang jenis data, gunakan fungsi kira dalam PHP untuk mendapatkan bilangan elemen tatasusunan dan gunakan fungsi peta_susun untuk mendapatkan Untuk jenis data setiap elemen dalam tatasusunan, gunakan fungsi array_unique untuk mengalih keluar jenis elemen pendua, dan akhirnya dapatkan jumlah bilangan jenis data dalam tatasusunan.

2. Gunakan gelung foreach

Selain fungsi kiraan, kita juga boleh menggunakan gelung foreach untuk melintasi setiap elemen dalam tatasusunan dan mengira bilangan jenis data yang berbeza dalam tatasusunan. Ia adalah sangat mudah untuk dilaksanakan. Anda boleh melihat kod berikut:

<?php  
$array = array(1,2,&#39;hello&#39;,3.14,true,array(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;));  
$result = array();  
foreach($array as $value){  
    $value_type = gettype($value);  
    if(!isset($result[$value_type])){  
        $result[$value_type] = 1;  
    }else{  
        $result[$value_type] += 1;  
    }  
}  
echo &#39;数组中元素的个数为:&#39;.count($array).&#39;,数据类型的个数为:&#39;.count($result);  
?>

Dalam kod di atas, kami mentakrifkan array $result untuk merekodkan jenis setiap elemen dan bilangan kejadian semasa proses traversal . Dengan merentasi dan mengira setiap elemen dalam tatasusunan Bilangan jenis data yang berbeza akhirnya menghasilkan jumlah bilangan jenis data yang berbeza dalam tatasusunan.

3. Gunakan fungsi array_column

Selain daripada dua kaedah sebelumnya, kita juga boleh menggunakan fungsi array_column untuk mengira bilangan jenis data yang berbeza dalam tatasusunan. Berikut ialah contoh kod:

<?php  
$array = array(1,2,&#39;hello&#39;,3.14,true,array(&#39;a&#39;,&#39;b&#39;,&#39;c&#39;));  
$type_array = array_map(function($value){ return gettype($value); }, $array);  
$result = count(array_unique(array_column(array_combine($type_array, $type_array), 0)));  
echo &#39;数组中元素的个数为:&#39;.count($array).&#39;,数据类型的个数为:&#39;.$result;  
?>

Dalam kod di atas, kami menggunakan fungsi array_combine dan array_column untuk menukar tatasusunan kepada tatasusunan dua dimensi yang serupa dengan pasangan nilai kunci Dalam tatasusunan ini, tatasusunan subskrip mewakili jenis Elemen, nilai yang sepadan mewakili bilangan kali jenis ini muncul dalam tatasusunan, dan akhirnya mengira bilangan pasangan nilai kunci yang terdapat di dalamnya, jumlah bilangan jenis data yang berbeza dalam tatasusunan boleh diperolehi.

Ringkasan

Dalam artikel ini, kami memperkenalkan tiga kaedah untuk menentukan bilangan jenis data yang berbeza dalam tatasusunan. Kaedah ini biasanya digunakan semasa mengendalikan tatasusunan, dan sering digunakan dalam operasi seperti penapisan dan statistik. Dalam penggunaan sebenar, pembangun boleh memilih kaedah yang berbeza mengikut keperluan sebenar untuk mencapai hasil yang lebih baik.

Atas ialah kandungan terperinci PHP menentukan berapa banyak jenis data yang ada pada tatasusunan. 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