Rumah >pangkalan data >tutorial mysql >Bagaimana Menjumlahkan Nilai dengan Cekap dalam Lajur Khusus Tatasusunan Berbilang Dimensi?
Nilai Jumlah dalam Lajur Tatasusunan Berbilang Dimensi
Tatasusunan berbilang dimensi memberikan cabaran apabila ia datang untuk menjumlahkan lajur tertentu. Pertimbangkan tatasusunan contoh yang diberikan:
$arr = [ [0] => ['f_count' => 1, 'uid' => 105], [1] => ['f_count' => 0, 'uid' => 106], [2] => ['f_count' => 2, 'uid' => 107], [3] => ['f_count' => 0, 'uid' => 108], [4] => ['f_count' => 1, 'uid' => 109], [5] => ['f_count' => 0, 'uid' => 110], [6] => ['f_count' => 3, 'uid' => 111] ];
Output yang dikehendaki ialah 7, iaitu jumlah lajur f_count.
Penyelesaian Tanpa Gelung Foreach
PHP 5.5 dan lebih baru menyediakan dua fungsi yang memudahkan ini tugasan:
Menggunakan fungsi ini, kita boleh mendapatkan jumlah tanpa foreach gelung:
$f_count_column = array_column($arr, 'f_count'); $sum = array_sum($f_count_column);
Pendekatan Alternatif: Menstruktur Semula Pertanyaan
Daripada mendapatkan semula tatasusunan berbilang dimensi, kami boleh menstruktur semula pertanyaan untuk mengembalikan tatasusunan satu dimensi:
$query = "SELECT SUM(f_count) AS total_f_count FROM users WHERE gid=:gid"; $stmt = $pdo->prepare($query); $stmt->execute([':gid' => $gid]); $row = $stmt->fetch(PDO::FETCH_ASSOC); $total_f_count = $row['total_f_count'];
Atas ialah kandungan terperinci Bagaimana Menjumlahkan Nilai dengan Cekap dalam Lajur Khusus Tatasusunan Berbilang Dimensi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!