Dengan perkembangan bahasa PHP secara beransur-ansur, operasi tatasusunan telah menjadi bahagian yang sangat diperlukan dalam kerja harian kami. PHP menyediakan banyak kaedah untuk merentasi tatasusunan, seperti untuk, foreach gelung, dll., tetapi sesetengah pembangun mungkin merasa sukar apabila mereka perlu mengira bilangan item yang berbeza dalam tatasusunan. Artikel ini akan memperkenalkan beberapa kaedah melintasi tatasusunan untuk mendapatkan nombor yang berbeza.
Gunakan gelung for dengan fungsi in_array untuk mendapatkan bilangan item berbeza dalam tatasusunan. Kaedah pelaksanaan khusus adalah seperti berikut:
$test_array = array("foo", "foo", "bar", "bar", "jim", "jim", "jam"); $count_array = array(); // 初始化一个存储不同项数量的数组 for ($i=0; $i<count($test_array); $i++) { if (!in_array($test_array[$i], $count_array)) { // 如果当前项不在count_array中 array_push($count_array, $test_array[$i]); // 将当前项加入count_array中 } } echo count($count_array); // 输出不同项的数量
Di atas ialah kaedah pelaksanaan, tetapi apabila menggunakan gelung for, anda perlu mempertimbangkan panjang tatasusunan Untuk sejumlah besar tatasusunan, kaedah ini mungkin membawa beberapa masa yang tidak perlu dan penggunaan Sumber.
Dengan merentasi tatasusunan melalui gelung foreach, operasi mengira bilangan item yang berbeza dapat direalisasikan dengan lebih ringkas dan jelas. Kaedah pelaksanaan khusus adalah seperti berikut:
$test_array = array("foo", "foo", "bar", "bar", "jim", "jim", "jam"); $count_array = array(); // 初始化一个存储不同项数量的数组 foreach ($test_array as $value) { if (!in_array($value, $count_array)) { // 如果当前项不在count_array中 array_push($count_array, $value); // 将当前项加入count_array中 } } echo count($count_array); // 输出不同项的数量
Berbanding dengan menggunakan kaedah gelung for, menggunakan gelung foreach memerlukan lebih sedikit kod, lebih mudah dibaca dan lebih cekap.
Gunakan fungsi array_unique untuk mendapatkan tatasusunan yang tidak mengandungi item pendua Panjang tatasusunan ialah bilangan item yang berbeza dalam tatasusunan asal. Kaedah pelaksanaan khusus adalah seperti berikut:
$test_array = array("foo", "foo", "bar", "bar", "jim", "jim", "jam"); $unique_array = array_unique($test_array); echo count($unique_array);
Berbanding dengan dua kaedah di atas, jumlah kod yang menggunakan fungsi array_unique adalah lebih mudah dan jelas, serta mempunyai kelajuan pemprosesan yang lebih cekap.
Ringkasnya, PHP menyediakan pelbagai kaedah untuk melintasi tatasusunan untuk mendapatkan bilangan item yang berbeza. Apabila menggunakan kaedah gelung untuk, anda perlu memberi perhatian kepada panjang tatasusunan Untuk sejumlah besar tatasusunan, ia boleh menyebabkan penggunaan sumber tambahan. Operasi ini boleh dilaksanakan dengan lebih ringkas dan jelas menggunakan kaedah gelung foreach. Menggunakan fungsi array_unique adalah salah satu kaedah yang paling cekap dan juga yang paling mudah. Pembaca boleh memilih kaedah yang sesuai dengan mereka mengikut keperluan yang berbeza.
Atas ialah kandungan terperinci Bagaimana untuk melintasi tatasusunan dalam php untuk mendapatkan nombor yang berbeza. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!