Tôi sẽ cố gắng giải thích sự cố mà tôi có với mã này.Tự động tính tổng trong mảng
Tập lệnh này hoạt động tốt với tối đa ba người ($ numRows = 3).
$z=0;
$i=0;
$x=0;
do {
$total[] = (
${'contaH'.$z}[$i+0]*$final[$x+0]+
${'contaH'.$z}[$i+1]*$final[$x+1]+
${'contaH'.$z}[$i+2]*$final[$x+2]
);
$z++;
} while ($z<$numRows); //3
Nhưng nếu tôi chỉ có bốn người ($ numRows = 4), tôi cần một cái gì đó như thế này:
$z=0;
$i=0;
$x=0;
do {
$total[] = (
${'contaH'.$z}[$i+0]*$final[$x+0]+
${'contaH'.$z}[$i+1]*$final[$x+1]+
${'contaH'.$z}[$i+2]*$final[$x+2]+
${'contaH'.$z}[$i+3]*$final[$x+3]
// if they are 5 persons ($numRows=5), here, should exists another row
);
$z++;
} while ($z<$numRows); //4
Vì vậy, vấn đề là để tự động hóa những thay đổi trong mối quan hệ của $ numRows.
Đây là một bản demo của ma trận đại số:
Điều duy nhất mà tôi muốn được đặt mã của tôi năng động trong một chức năng của số người.
A | B | C | D
Person1
Person2
Person3
Person4
...
Điều gì có thể khác trong trường hợp của tôi chỉ là số lượng người.
Thông tin thêm here.
Câu hỏi của bạn là hoàn toàn rõ ràng. vui lòng viết lại câu hỏi của bạn – diEcho
Vui lòng mô tả vấn đề theo các thuật ngữ tổng quát hơn, cố gắng tìm ra những gì bạn muốn làm từ một đoạn mã quá phức tạp không dễ dàng. Cấu trúc dữ liệu của bạn là gì? Bạn có một số biến '$ contaH0',' $ contaH1' v.v ...? Tại sao bạn không sử dụng mảng thay thế? – deceze
không có vấn đề với mã ở trên. Điều duy nhất mà tôi muốn thực hiện là một số biến của các hàng tổng. nếu số $ numRows là 3, vì vậy phải có ba khoản tiền cho mỗi vòng lặp, nếu 4, phải có bốn khoản, nếu 5, phải có 5 tổng. Điều gì phải thay đổi là số lượng tiền có chức năng $ numRows – Daniel