Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengira Jumlah Lajur dengan Cekap dalam Tatasusunan Berbilang Dimensi Tidak Sekata?
Cara Mengira Jumlah Lajur dalam Tatasusunan Berbilang Dimensi
Pertimbangkan tatasusunan berbilang dimensi di mana unsur-unsur disusun dalam baris dan lajur, tetapi set kunci mungkin berbeza secara dinamik. Tugasnya adalah untuk mengira jumlah nilai dalam setiap lajur, tanpa mengira variasi utama.
Kaedah Array_Walk_Recursive
Untuk penyelesaian umum di mana tatasusunan dalam boleh mempunyai kunci unik, gunakan array_walk_recursive():
$final = array(); array_walk_recursive($input, function($item, $key) use (&$final){ $final[$key] = isset($final[$key]) ? $item + $final[$key] : $item; });
Array_Column Kaedah
Jika nilai kunci tertentu perlu dijumlahkan, array_column() boleh digunakan:
array_sum(array_column($input, 'gozhi')); // Sums the 'gozhi' column
Untuk Tatasusunan Dalaman Seragam
Jika semua tatasusunan dalam mempunyai kunci yang sama, dapatkan kunci permulaan struktur:
$final = array_shift($input); foreach ($final as $key => &$value){ $value += array_sum(array_column($input, $key)); } unset($value);
Kes Umum dengan Array_Column
Ekstrak kunci unik dan lakukan jumlah lajur:
$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 Mengira Jumlah Lajur dengan Cekap dalam Tatasusunan Berbilang Dimensi Tidak Sekata?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!