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;
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;
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;
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!