Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menjumlahkan Nilai Lajur Tatasusunan 2D dalam PHP tanpa Gelung `foreach`?

Bagaimana untuk Menjumlahkan Nilai Lajur Tatasusunan 2D dalam PHP tanpa Gelung `foreach`?

Linda Hamilton
Lepaskan: 2024-12-13 12:08:11
asal
576 orang telah melayarinya

How to Sum a 2D Array Column's Values in PHP without `foreach` Loops?

Menjumlahkan Nilai dalam Lajur Tatasusunan 2D tanpa Gelung Foreach

Dalam PHP 5.4, adalah mungkin untuk menjumlahkan nilai dalam lajur tertentu bagi Tatasusunan 2D tanpa menggunakan gelung foreach.

Pertimbangkan perkara berikut tatasusunan berbilang dimensi:

Array (
    [0] => Array ( [f_count] => 1 [uid] => 105 )
    [1] => Array ( [f_count] => 0 [uid] => 106 )
    [2] => Array ( [f_count] => 2 [uid] => 107 )
    [3] => Array ( [f_count] => 0 [uid] => 108 )
    [4] => Array ( [f_count] => 1 [uid] => 109 )
    [5] => Array ( [f_count] => 0 [uid] => 110 )
    [6] => Array ( [f_count] => 3 [uid] => 111 )
)
Salin selepas log masuk

Untuk menjumlahkan nilai dalam lajur "f_count", kita boleh menggunakan fungsi array_column dan array_sum:

$value = array_sum(array_column($arr,'f_count'));
Salin selepas log masuk

Kaedah ini mengekstrak nilai "f_count" daripada tatasusunan ke dalam tatasusunan satu dimensi menggunakan lajur_tatasusunan, dan kemudian menjumlahkan nilai dalam tatasusunan itu menggunakan tatasusunan_sum, menghasilkan nilai jumlah 7.

Sebagai alternatif, jika anda lebih suka format pertanyaan SQL yang berbeza, anda boleh mengubah suai pertanyaan anda untuk mengembalikan tatasusunan satu dimensi:

$query = "SELECT SUM(f_count) AS f_count_sum FROM users WHERE gid=:gid";
...
$value = $stmt->fetchColumn();
Salin selepas log masuk

Pertanyaan ini mengembalikan satu lajur bernama "f_count_sum" yang mengandungi jumlah semua nilai "f_count", yang kemudiannya boleh diakses terus menggunakan fetchColumn().

Atas ialah kandungan terperinci Bagaimana untuk Menjumlahkan Nilai Lajur Tatasusunan 2D dalam PHP tanpa Gelung `foreach`?. 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