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!