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 ) )
Untuk menjumlahkan nilai dalam lajur "f_count", kita boleh menggunakan fungsi array_column dan array_sum:
$value = array_sum(array_column($arr,'f_count'));
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();
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!