Cercherò di spiegare il problema che ho con questo codice.Automate sum in array
Questo script funziona bene fino a tre persone ($ 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
Ma se devo solo quattro persone ($ numRows = 4), ho bisogno di qualcosa di simile:
$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
Quindi il problema è quello di automatizzare questi cambiamenti nella relazione di $ numRows.
Ecco una demo di algebra delle matrici:
L'unica cosa che voglio è messo in modo dinamico il mio codice in funzione del numero di persone.
A | B | C | D
Person1
Person2
Person3
Person4
...
Ciò che può essere diverso nel mio caso è solo il numero di persone.
Ulteriori informazioni here.
la tua domanda è del tutto chiaro. per favore scrivi nuovamente la tua domanda – diEcho
Descrivi il problema in termini più generali, cercando di capire cosa vuoi fare da un pezzo di codice complicato non è facile. Qual è la tua struttura dati? Avete diverse variabili '$ contaH0',' $ contaH1' etc? Perché invece non usi gli array? – deceze
non ci sono problemi con il codice sopra. L'unica cosa che voglio implementare è un numero variabile di righe somma. se il numero di $ numRows è 3, quindi deve avere tre somme per ogni ciclo, se 4, deve avere quattro somme, se 5, deve avere 5 somme. Ciò che deve cambiare è il numero di somme in funzione di $ numRows – Daniel