Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk melintasi tatasusunan dalam php untuk mendapatkan nombor yang berbeza

Bagaimana untuk melintasi tatasusunan dalam php untuk mendapatkan nombor yang berbeza

PHPz
Lepaskan: 2023-04-27 09:35:59
asal
504 orang telah melayarinya

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.

  1. Gunakan gelung for untuk melintasi

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); // 输出不同项的数量
Salin selepas log masuk

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.

  1. Gunakan gelung foreach untuk melintasi

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); // 输出不同项的数量
Salin selepas log masuk

Berbanding dengan menggunakan kaedah gelung for, menggunakan gelung foreach memerlukan lebih sedikit kod, lebih mudah dibaca dan lebih cekap.

  1. Gunakan fungsi array_unique

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);
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan