Menjumlahkan Nilai dalam Lajur Tatasusunan 2D dengan Cekap
Pertimbangkan tatasusunan data pengguna dengan medan "f_count" dan "uid". Untuk menjumlahkan nilai dalam lajur "f_count" tanpa menggunakan gelung foreach, teknik berikut menawarkan penyelesaian yang berkesan:
Dalam PHP versi 5.5 , gunakan fungsi array_column() dan array_sum(), yang menyediakan penyelesaian yang elegan:
$value = array_sum(array_column($arr, 'f_count'));
Satu lagi pendekatan cekap untuk PHP 5.4 dan ke atas menggunakan array_reduce() bersama-sama dengan fungsi tanpa nama:
$value = array_reduce($arr, function ($carry, $item) { return $carry + $item['f_count']; }, 0);
Kedua-dua teknik mengelakkan gelung berulang, menghasilkan prestasi yang lebih baik.
Sebagai alternatif, mengubah suai pertanyaan pangkalan data untuk mengembalikan tatasusunan yang diratakan juga boleh menghapuskan keperluan untuk pemprosesan selanjutnya :
$query = "SELECT SUM(f_count) AS total_f_count FROM users WHERE gid=:gid";
Pertanyaan ini akan mengembalikan satu baris yang mengandungi jumlah f_counts, rendering manipulasi tatasusunan seterusnya tidak perlu.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjumlahkan Nilai dengan Cekap dalam Lajur Tatasusunan 2D dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!