Rumah > Artikel > pembangunan bahagian belakang > PHP mencari purata tiga timbunan tatasusunan
Dalam pengaturcaraan PHP, selalunya diperlukan untuk beroperasi pada tatasusunan, dan mencari purata tiga timbunan tatasusunan adalah masalah biasa. Artikel ini akan menangani isu ini dengan memperkenalkan tiga kaedah berbeza.
Kaedah 1: Gunakan untuk fungsi gelung dan jumlah tatasusunan
Kaedah purata yang paling biasa ialah menggunakan gelung for untuk melintasi tatasusunan dan menggunakan fungsi jumlah tatasusunan untuk mengumpul semua elemen tatasusunan. Akhir sekali, bahagikan dengan bilangan elemen untuk mendapatkan nilai purata.
Kod sampel adalah seperti berikut:
$arr1 = array(1, 2, 3, 4, 5); $arr2 = array(6, 7, 8, 9, 10); $arr3 = array(11, 12, 13, 14, 15); $sum1 = 0; $sum2 = 0; $sum3 = 0; $count = count($arr1); for ($i = 0; $i < $count; $i++) { $sum1 += $arr1[$i]; $sum2 += $arr2[$i]; $sum3 += $arr3[$i]; } $avg1 = $sum1 / $count; $avg2 = $sum2 / $count; $avg3 = $sum3 / $count; echo '第一堆平均数:' . $avg1 . '<br />'; echo '第二堆平均数:' . $avg2 . '<br />'; echo '第三堆平均数:' . $avg3 . '<br />';
Walaupun kaedah ini mudah, ia memerlukan gelung for untuk melintasi tatasusunan, yang akan menjejaskan kecekapan atur cara apabila terdapat banyak elemen tatasusunan.
Kaedah 2: Gunakan fungsi array_sum() dan count()
PHP menyediakan fungsi array_sum() untuk menjumlahkan secara langsung tatasusunan, dan dengan fungsi kiraan, anda boleh mendapatkan purata dengan cepat nilai.
Kod sampel adalah seperti berikut:
$arr1 = array(1, 2, 3, 4, 5); $arr2 = array(6, 7, 8, 9, 10); $arr3 = array(11, 12, 13, 14, 15); $sum1 = array_sum($arr1); $sum2 = array_sum($arr2); $sum3 = array_sum($arr3); $count = count($arr1); $avg1 = $sum1 / $count; $avg2 = $sum2 / $count; $avg3 = $sum3 / $count; echo '第一堆平均数:' . $avg1 . '<br />'; echo '第二堆平均数:' . $avg2 . '<br />'; echo '第三堆平均数:' . $avg3 . '<br />';
Kaedah ini mudah dan cekap, menghapuskan keperluan gelung for untuk melintasi tatasusunan.
Kaedah 3: Gunakan fungsi array_map() dan array_reduce()
Selain fungsi array_sum() dan count(), PHP juga menyediakan fungsi array_map() dan array_reduce(), yang boleh menjadi lebih Fleksibel beroperasi pada tatasusunan.
Kod sampel adalah seperti berikut:
$arr1 = array(1, 2, 3, 4, 5); $arr2 = array(6, 7, 8, 9, 10); $arr3 = array(11, 12, 13, 14, 15); $sum1 = array_reduce($arr1, function($carry, $item) { return $carry + $item; }); $sum2 = array_reduce($arr2, function($carry, $item) { return $carry + $item; }); $sum3 = array_reduce($arr3, function($carry, $item) { return $carry + $item; }); $count = count($arr1); $avg1 = $sum1 / $count; $avg2 = $sum2 / $count; $avg3 = $sum3 / $count; echo '第一堆平均数:' . $avg1 . '<br />'; echo '第二堆平均数:' . $avg2 . '<br />'; echo '第三堆平均数:' . $avg3 . '<br />';
Kaedah ini menggunakan fungsi tanpa nama sebagai parameter kedua array_reduce(), yang membolehkan operasi penjumlahan yang lebih fleksibel dan mengelakkan penggunaan untuk gelung.
Ringkasan
Ketiga-tiga kaedah tersebut mempunyai kelebihan dan kekurangan tersendiri, dan penggunaan khusus perlu dipilih mengikut situasi sebenar. Kaedah 1 boleh digunakan untuk tatasusunan berskala kecil, dan kaedah 2 atau kaedah 3 disyorkan untuk tatasusunan berskala lebih besar. Pada masa yang sama, perlu diingatkan bahawa apabila beroperasi pada tatasusunan, anda perlu memberi perhatian kepada jenis dan bilangan elemen tatasusunan untuk mengelakkan situasi yang tidak dijangka.
Atas ialah kandungan terperinci PHP mencari purata tiga timbunan tatasusunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!