Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Menjumlahkan Nilai dengan Cekap dalam Lajur Tatasusunan 2D dalam PHP?

Bagaimanakah Saya Boleh Menjumlahkan Nilai dengan Cekap dalam Lajur Tatasusunan 2D dalam PHP?

Barbara Streisand
Lepaskan: 2024-12-14 05:08:14
asal
591 orang telah melayarinya

How Can I Efficiently Sum the Values in a 2D Array's Column in PHP?

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'));
Salin selepas log masuk

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);
Salin selepas log masuk

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";
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan