Làm cách nào để nhóm và tính tổng các giá trị của một mảng trong PHP?
Các hàm tổng hợp tóm tắt dữ liệu bảng. Khi các hàng được chia thành các nhóm, các hàm tổng hợp được áp dụng để chỉ trả về một giá trị cho mỗi nhóm. Tốt hơn là xác định từng hàng tóm tắt bằng cách bao gồm mệnh đề GROUP BY trong kết quả truy vấn. Tất cả các cột khác với những cột được liệt kê trong mệnh đề GROUP BY phải được áp dụng hàm tổng hợp cho chúng Show
Thí dụ Để lấy dữ liệu của 'agent_code' và tổng 'advance_amount' cho từng 'agent_code' riêng lẻ từ bảng 'orders' với điều kiện sau - 1. cùng một 'agent_code' sẽ không đến hai lần, câu lệnh SQL sau đây có thể được sử dụng bảng mẫu. mệnh lệnh Mã SQL
đầu ra AGENT_CODE SUM(ADVANCE_AMOUNT) ---------- ------------------- A004 2100 A002 3500 A007 500 A009 100 A011 900 A012 450 A010 3700 A013 3200 A001 200 A008 3300 A006 600 A005 3100 A003 1000 Trình bày bằng hình ảnh SQL SUM() sử dụng nhiều cột với nhóm theoĐể lấy dữ liệu của 'cust_city' và tổng của 'opening_amt' và 'receive_amt' cho mỗi 'cust_city' riêng lẻ từ bảng 'customer' với điều kiện sau - 1. cùng một 'cust_city' không nên đến nhiều hơn một lần, câu lệnh SQL sau đây có thể được sử dụng bảng mẫu. khách hàng Mã SQL
đầu ra CUST_CITY SUM(OPENING_AMT+RECEIVE_AMT) ----------------------------------- ---------------------------- Bangalore 62000 Brisban 41000 Chennai 51000 Hampshair 10000 London 48000 Mumbai 51000 New York 32000 San Jose 12000 Torento 46000 Ghi chú. Đầu ra của câu lệnh SQL đã nói ở đây được lấy bằng cách sử dụng Cơ sở dữ liệu Oracle 10g Express Edition Hàm MySQL SUM() truy xuất giá trị tổng của một biểu thức đã trải qua thao tác nhóm theo mệnh đề GROUP BY Thí dụ bảng mẫu. mua Mã số
Biểu thức đại số quan hệ Cây đại số quan hệ Giải trình Câu lệnh MySQL ở trên trả về tổng 'total_cost' từ bảng mua hàng cho từng nhóm danh mục ('cate_id') Hãy tưởng tượng rằng bạn có một mảng các nhãn hiệu được lập chỉ mục. Bây giờ, bạn muốn cộng tất cả các điểm và tính tỷ lệ phần trăm. Trong trường hợp đó, bạn sẽ cần chuyển mảng đánh dấu cho hàm tổng của mảng PHP để nhận tổng số điểm trong vòng vài giây Đây là một khối mã sẽ giúp bạn có tổng mảng PHP // tạo mảng nhãn hiệu$marks = array(90, 60, 89, 70, 88, 50) . $tổng. ;// xuất. Tổng số điểm. 447echo “”;// tính tỷ lệ phần trăm$percentage = ($total / 600) * 100 . $phần trăm %. ”// xuất. tỷ lệ phần trăm. 74. 5 %?> // creating an array of marks $marks = array(90, 60, 89, 70, 88, 50); // using the array_sum function $total = array_sum($marks); // printing total marks echo “Total Marks: $total.”; // output: Total Marks: 447 echo “ ”; // calculating percentage $percentage = ($total / 600) * 100; // printing percentage echo “Percentage: $percentage %.” // output: Percentage: 74.5 % ?> – Sử dụng mảng_sum trong PHP với mảng liên kếtNếu bạn có một mảng văn phòng phẩm kết hợp chứa số lượng của các mặt hàng khác nhau và bạn muốn cộng các số lượng đã cho để xem bạn có tổng cộng bao nhiêu mặt hàng, bạn sẽ cần sử dụng hàm array_sum trong PHP mà không cần sửa đổi gì thêm để có được kết quả chính xác Vui lòng xem biểu diễn mã đã cho // tạo mảng kết hợp$stationary = array(“Pencils” = . tổng $. ;// xuất. Tổng số lượng. 33. ?>// creating an associative array $stationary = array( “Pencils” => 10, “Sharpners” => 5, “Erasers” => 12, “Rulers” => 6, ); // using the array_sum function $sum = array_sum($stationary); // printing the total quantity echo “Total Quantity: $sum.”; // output: Total Quantity: 33. ?> Tổng giá trị mảng nằm trong nhiều lớpBạn đang tìm cách cộng các giá trị có trong một mảng nhiều chiều? . Nhưng bạn có thể sử dụng vòng lặp foreach để lấy tất cả các giá trị của mảng nhiều chiều và cộng các giá trị giống nhau. Hơn nữa, bạn thậm chí có thể sử dụng các khóa của mảng ban đầu để biểu thị tổng giá trị – Ví dụ mã hóa để thêm giá trị của một mảng nhiều chiềuHãy thử nghĩ về một chương trình quản lý thời gian bao gồm một mảng nhiệm vụ đa chiều. Mảng nhiệm vụ bao gồm năm mảng kết hợp với tên nhiệm vụ là khóa và giờ làm việc là giá trị. Hơn nữa, các phím giống nhau trong tất cả các mảng bên trong. Vì vậy, bây giờ bạn muốn xem bạn đã dành bao nhiêu thời gian để hoàn thành mỗi nhiệm vụ Do đó, ở đây bạn sẽ phải sử dụng vòng lặp foreach hai lần để truy cập tất cả các giá trị và thêm chúng vào một mảng kết hợp khác có cùng khóa Bạn cũng có thể tham khảo đoạn mã được cung cấp tại đây để hiểu ví dụ trên đang nói về điều gì // tạo một mảng nhiệm vụ$tasks = array(array(“ . 5),array(“Đọc” => 2, “Viết” => 6, “Nấu ăn” => 1, “Đi bộ” => 1),array(“Đọc” => 1, “Viết” => 7, “Nấu ăn” => 2, “Đi bộ” => 1),}// in mảng total_hoursprint_r($total_hours);// creating an array of tasks $tasks = array( array(“Reading” => 2, “Writing” => 5, “Cooking” => 2, “Walking” => 1), array(“Reading” => 3, “Writing” => 4, “Cooking” => 1, “Walking” => 0.5), array(“Reading” => 2, “Writing” => 6, “Cooking” => 1, “Walking” => 1), array(“Reading” => 3, “Writing” => 5, “Cooking” => 2, “Walking” => 0.5), array(“Reading” => 1, “Writing” => 7, “Cooking” => 2, “Walking” => 1), ); // creating an empty array to add total number of hours $total_hours = array(); // iterating through the tasks array foreach ($tasks as $key=>$inner_array) { // iterating through each inner array foreach ($inner_array as $task=>$hours) // checking if the key already exists in the total_hours array // and adding all the values belonging to a particular key in the total_hours array array_key_exists( $task, $total_hours ) ? $total_hours[$task] += $hours : $total_hours[$task] = $hours; } // printing the total_hours array print_r($total_hours); ?> Dưới đây là tổng số giờ bạn đã dành để thực hiện một nhiệm vụ cụ thể Mảng ( [Đọc] => 11 [Viết] => 27 [Nấu ăn] => 8 [Đi bộ] => 4 )Hàm Array_sum trong PHP Tập trung vào một khóa cụ thểNhưng nếu bạn muốn thêm tất cả các giá trị của chỉ một khóa cụ thể của một mảng nhiều chiều thì sao? . Nhưng hãy kiểm tra phiên bản PHP của bạn trước khi bạn tiến hành giải pháp vì có hai giải pháp đang hoạt động. một cái sử dụng chức năng array_map() và một cái khác sử dụng chức năng array_column(). Vì vậy, bạn sẽ phải sử dụng hàm array_map() trong các phiên bản PHP dưới 5. 5 vì hàm array_column() chỉ có trong PHP >= 5. 5 – Ví dụ mã hóa để sử dụng hàm tính tổng PHP với mảng_cộtVí dụ: bạn có một mảng nhiều chiều lưu trữ các chi tiết hóa đơn như product_code, product và price. Bây giờ, bạn muốn tính tổng số tiền bằng cách cộng giá của tất cả các sản phẩm. Do đó, bạn sẽ sử dụng hàm array_column() để lấy giá của tất cả các sản phẩm. Tiếp theo, bạn sẽ gọi hàm array_sum của PHP để thêm tất cả các mức giá như đoạn mã hiển thị bên dưới // tạo mảng đa chiều cho chi tiết hóa đơn$invoice = array(array . $total_amount”;// đầu ra. Tổng cộng. 1410?>// creating a multidimensional array for invoice details $invoice = array( array(“product_code” => “1043”, “product” => “Shampoo”, “price” => 350), array(“product_code” => “1030”, “product” => “Chocolate”, “price” => 110), array(“product_code” => “1213”, “product” => “Ketchup”, “price” => 150), array(“product_code” => “1080”, “product” => “Biscuits”, “price” => 300), array(“product_code” => “1190”, “product” => “Snacks”, “price” => 500) ); // using the array_sum function with the array_column function $total_amount = array_sum(array_column($invoice, ‘price’)); // printing the total amount echo “Total Amount: $total_amount”; // output: Total Amount: 1410 ?> – Ví dụ mã hóa để sử dụng PHP array_sum Với array_mapTiếp tục với ví dụ tạo tổng số tiền tương tự, bây giờ bạn sẽ sử dụng hàm array_map() để lấy tất cả giá. Tiếp theo, bạn sẽ thực thi hàm array_sum để cộng tất cả các mức giá và tạo ra tổng số tiền Dưới đây là các dòng mã sẽ giúp bạn lấy tổng số tiền cho ví dụ trên trong PHP < 5. 5 // sử dụng hàm array_sum với hàm array_map$total_amount = array_sum(array_map(function($array){< . $total_amount”;// đầu ra. Tổng cộng. 1410?>// using the array_sum function with the array_map function $total_amount = array_sum(array_map(function($array){ return $array[‘price’]; }, $invoice)); // printing the total amount echo “Total Amount: $total_amount”; // output: Total Amount: 1410 ?> Tính tổng một mảng dựa trên việc nhóm mảngBạn có muốn đính kèm chức năng “nhóm theo” với mảng đa chiều của mình để lấy tổng của mảng PHP không? . Chắc chắn, bạn có thể tạo một hàm tùy chỉnh chấp nhận một mảng, khóa bạn muốn sử dụng để nhóm và khóa có giá trị bạn muốn thêm. Tiếp theo, hàm đã cho sử dụng vòng lặp foreach và trả về một mảng khác đáp ứng nhu cầu của bạn – Khối mã để sử dụng nhóm theo chức năng để thêm giá trịCông thức bên dưới là khi bạn có một mảng cho lịch biểu hàng tháng chứa các đợt, số bài giảng và teacher_ids và bạn muốn lấy tổng số bài giảng do một giáo viên cụ thể giảng dạy. Nói một cách đơn giản, bạn muốn nhóm mảng theo teacher_id Vì vậy, đây là mã cho cùng một tình huống và chức năng tùy chỉnh mang lại kết quả chính xác // tạo mảng đa chiều$monthly_schedule = array(array(“batch . array_key_exists($key, $myArray)){$myArray[$key] = mảng($groupBy => $item[$groupBy], Mảng ( [teacher_id] => 1 [bài giảng] => 23 ) [2] => Mảng ( [teacher_id] => 2 [bài giảng] => 27 ) )// creating a multidimensional array $monthly_schedule = array( array(“batch” => “1708A”, “lectures” => 10, “teacher_id” => 1), array(“batch” => “1709B”, “lectures” => 12, “teacher_id” => 2), array(“batch” => “1709A”, “lectures” => 8, “teacher_id” => 1), array(“batch” => “1710M”, “lectures” => 15, “teacher_id” => 2), array(“batch” => “1704A”, “lectures” => 5, “teacher_id” => 1), ); // creating a custom function function groupby_teacher($array, $groupBy, $value){ // creating an empty array $myArray = array(); // iterating through the array passed as argument foreach ($array as $item){ // getting the groupBy value $key = $item[$groupBy]; // checking if the value exists in the new array if(!array_key_exists($key, $myArray)){ $myArray[$key] = array( $groupBy => $item[$groupBy], $value => $item[$value], ); } else{ $myArray[$key][$value] = $myArray[$key][$value] + $item[$value]; } } return $myArray; } // executing the custom function and printing the resulting array print_r(groupby_teacher($monthly_schedule,”teacher_id”,”lectures”)); // output: Array ( [1] => Array ( [teacher_id] => 1 [lectures] => 23 ) [2] => Array ( [teacher_id] => 2 [lectures] => 27 ) ) ?> Tổng hợpChắc chắn, hàm array_sum PHP tạo điều kiện thuận lợi cho quá trình cộng tất cả các giá trị mảng. Hơn nữa, chức năng tương tự cũng đi kèm với các chức năng khác để cung cấp cho bạn kết quả mong muốn. Bây giờ, nếu bạn đang tìm kiếm một bản sửa đổi nhanh chóng của bài viết trên, thì hãy xem bên dưới
5/5 - (16 phiếu) Vị trí là tất cả Vị trí là tất cả. Tài nguyên Go-To của bạn để Tìm hiểu & Xây dựng. CSS, JavaScript, HTML, PHP, C++ và MYSQL Làm cách nào để tính tổng nhiều giá trị mảng trong PHP?Hàm array_sum() trả về tổng của tất cả các giá trị trong một mảng (một chiều và kết hợp). Nó nhận vào một tham số mảng và trả về tổng của tất cả các giá trị trong đó. Đối số duy nhất của hàm là mảng cần tính tổng.
Làm cách nào để tính tổng các giá trị của một mảng có cùng khóa trong PHP?Để tính tổng các giá trị của một khóa cụ thể (chẳng hạn như qty ) trong mảng, bạn có thể sử dụng bất kỳ cách nào sau đây. . vòng lặp foreach; mảng_tổng() và mảng_cột() ; array_sum() và array_map() ; mảng_reduce() Làm cách nào để tính tổng một mảng trong PHP?Hàm array_sum() trả về tổng của tất cả các giá trị trong mảng.
+= có hoạt động trên các mảng trong PHP không?Toán tử + trong PHP khi được áp dụng cho mảng sẽ thực hiện công việc của mảng UNION . mảng $arr += mảng $arr1; . |