Rumah > pembangunan bahagian belakang > masalah PHP > Tatasusunan PHP menjumlahkan lajur tertentu

Tatasusunan PHP menjumlahkan lajur tertentu

WBOY
Lepaskan: 2023-05-19 09:53:36
asal
1040 orang telah melayarinya

Dalam pembangunan, selalunya perlu melakukan operasi jumlah pada lajur tertentu tatasusunan. Dalam bahasa PHP, jumlah boleh dikira dengan menggelung melalui tatasusunan, tetapi kaedah ini bukan sahaja memerlukan sejumlah besar kod, tetapi juga kurang cekap. Artikel ini akan memperkenalkan beberapa kaedah mudah dan cekap untuk menjumlahkan lajur tertentu tatasusunan PHP.

Kaedah pertama ialah menggunakan fungsi array_column(). Fungsi array_column() boleh mendapatkan lajur yang ditentukan daripada tatasusunan, dan kemudian menjumlahkan lajur Kod adalah seperti berikut:

$array = array(
    array('name' => '张三', 'age' => 20, 'score' => 80),
    array('name' => '李四', 'age' => 21, 'score' => 85),
    array('name' => '王五', 'age' => 22, 'score' => 90),
);

$sum = array_sum(array_column($array, 'score'));
echo '总分:' . $sum;
Salin selepas log masuk

Kod di atas mula-mula mentakrifkan tatasusunan dua dimensi, yang mengandungi nama pelajar, umur dan markah. Kemudian gunakan fungsi array_column() untuk mendapatkan lajur skor daripada tatasusunan, dan akhirnya panggil fungsi array_sum() untuk menjumlahkan lajur. Hasil keluaran ialah: jumlah markah: 255.

Kaedah kedua ialah menggunakan fungsi array_reduce(). Fungsi array_reduce() boleh mengurangkan tatasusunan kepada nilai, dan parameternya ialah fungsi panggil balik dan nilai awal. Dalam fungsi panggil balik, setiap elemen boleh ditambah untuk akhirnya mendapatkan jumlah lajur Kod adalah seperti berikut:

$array = array(
    array('name' => '张三', 'age' => 20, 'score' => 80),
    array('name' => '李四', 'age' => 21, 'score' => 85),
    array('name' => '王五', 'age' => 22, 'score' => 90),
);

$sum = array_reduce($array, function($total, $item) {
    return $total + $item['score'];
}, 0);

echo '总分:' . $sum;
Salin selepas log masuk

Kod di atas mula-mula mentakrifkan tatasusunan dua dimensi, yang mengandungi nama pelajar, umur. dan gred. Kemudian gunakan fungsi array_reduce() untuk mengurangkan tatasusunan Nilai awal lalai ialah 0. Fungsi panggil balik menambah hasil setiap elemen untuk akhirnya mendapatkan jumlah lajur. Hasil keluaran ialah: jumlah markah: 255.

Kaedah ketiga ialah menggunakan gelung foreach untuk melintasi tatasusunan. Kod adalah seperti berikut:

$array = array(
    array('name' => '张三', 'age' => 20, 'score' => 80),
    array('name' => '李四', 'age' => 21, 'score' => 85),
    array('name' => '王五', 'age' => 22, 'score' => 90),
);

$sum = 0;
foreach($array as $item) {
    $sum += $item['score'];
}

echo '总分:' . $sum;
Salin selepas log masuk

Kod di atas mula-mula mentakrifkan tatasusunan dua dimensi, yang mengandungi nama, umur dan gred pelajar. Kemudian gunakan gelung foreach untuk lelaran melalui tatasusunan, menambah markah setiap elemen, dan akhirnya mendapatkan jumlah lajur. Hasil keluaran ialah: jumlah markah: 255.

Ringkasnya, kita boleh menggunakan pelbagai kaedah untuk menjumlahkan lajur tertentu tatasusunan PHP. Gunakan fungsi array_column() untuk mendapatkan lajur tatasusunan dengan cepat dan mudah, dan gunakan fungsi array_reduce() untuk mengurangkan tatasusunan kepada satu nilai dan menjumlahkan lajur. Menggunakan gelung foreach untuk melintasi tatasusunan ialah kaedah biasa kerana kodnya ringkas dan mudah difahami. Bergantung pada situasi tertentu, kita boleh memilih kaedah yang berbeza untuk beroperasi.

Atas ialah kandungan terperinci Tatasusunan PHP menjumlahkan lajur tertentu. 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