Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menjumlahkan Nilai Lajur dalam Tatasusunan PHP Berbilang Dimensi?
Anda mensasarkan untuk menjumlahkan nilai yang dikaitkan dengan kunci tertentu dalam tatasusunan berbilang dimensi dengan set kunci yang berbeza-beza. Pertimbangkan input berikut:
Array ( [0] => Array ( [gozhi] => 2 [uzorong] => 1 [ngangla] => 4 [langthel] => 5 ) [1] => Array ( [gozhi] => 5 [uzorong] => 0 [ngangla] => 3 [langthel] => 2 ) [2] => Array ( [gozhi] => 3 [uzorong] => 0 [ngangla] => 1 [langthel] => 3 ) )
Hasil yang diinginkan ialah:
Array ( [gozhi] => 10 [uzorong] => 1 [ngangla] => 8 [langthel] => 10 )
Untuk mencapainya, pertimbangkan pendekatan berikut:
Untuk penyelesaian kes umum, gunakan array_walk_recursive():
$final = array(); array_walk_recursive($input, function($item, $key) use (&$final){ $final[$key] = isset($final[$key]) ? $item + $final[$key] : $item; });
Untuk kunci tertentu (cth., "gozhi"), gunakan array_column() (tersedia sejak PHP 5.5):
array_sum(array_column($input, 'gozhi'));
Jika semua tatasusunan dalam mempunyai kunci yang sama:
$final = array_shift($input); foreach ($final as $key => &$value){ $value += array_sum(array_column($input, $key)); } unset($value);
Dapatkan semua kunci unik dan kemudian jumlahkan untuk setiap satu:
$final = array(); foreach($input as $value) $final = array_merge($final, $value); foreach($final as $key => &$value) $value = array_sum(array_column($input, $key)); unset($value);
Atas ialah kandungan terperinci Bagaimana untuk Menjumlahkan Nilai Lajur dalam Tatasusunan PHP Berbilang Dimensi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!