需要这个数组的帮助,一切正常,除了最后一行我没有得到$data[5][1] + $data[1][2] - $data[2][2]
上的值,
$data = array(
array("Concepto","Enero","Febrero","Marzo","Abril"),
array("Ingresos",100, 100, 100, 100),
array("Egresos",200, 200, 200, 200),
array("Deudores",300, 300, 300, 300),
);
$aa = array("Saldo",($data[1][1]-$data[2][1]),($data[1][2]-$data[2][2]),($data[1][3]-$data[2][3]),$data[1][4]-$data[2][4]);
array_push($data,$aa);
$bb = array("Saldo Acumulado",(5000)+($data[1][1])-$data[2][1],
$data[5][1] + $data[1][2] - $data[2][2],
"3",
"4");
array_push($data,$bb);
$tblCuatrimestre1 = '<table width="100%" border="0" cellspacing="0" cellpadding="0">';
foreach($data as $dat){
$tblCuatrimestre1 .= ' <tr>
<td width="20%">'.$dat[0].'</td>
<td width="20%">'.$dat[1].'</td>
<td width="20%">'.$dat[2].'</td>
<td width="20%">'.$dat[3].'</td>
<td width="20%">'.$dat[4].'</td>
<td width="20%">'.$dat[5].'</td>
</tr>';
}
$tblCuatrimestre1 .= '</table>';
echo $tblCuatrimestre1;
答案 0 :(得分:0)
接下来是问题:
$data = array(
array("Concepto","Enero","Febrero","Marzo","Abril"),
array("Ingresos",100, 100, 100, 100),
array("Egresos",200, 200, 200, 200),
array("Deudores",300, 300, 300, 300),
);
$aa = array("Saldo",($data[1][1]-$data[2][1]),($data[1][2]-$data[2][2]),($data[1][3]-$data[2][3]),$data[1][4]-$data[2][4]);
array_push($data,$aa);
现在你的$data
数组有5个子数组,当你调用$data[5][1]
时会出错,因为$data[4]
将是最后一个子数组。可能你需要
$bb = array("Saldo Acumulado",(5000)+($data[1][1])-$data[2][1],
$data[4][1] + $data[1][2] - $data[2][2],
"3",
"4");
array_push($data,$bb) ;
答案 1 :(得分:0)
鉴于评论,很明显你的数学出错了。但在我开始之前......通常arrays是零索引的......这意味着第一个项目从零开始,并从那里开始计数。因此,如果给定数组中没有这样的元素,则$data[5][1] + $data[1][2] - $data[2][2]
会出错。
其次,对你的主要问题......
完成数学
$data[4][1] + $data[1][2] - $data[2][2]
// ^ correct digit here by the way
在给定数组值的情况下,永远不会等于你所声明的数字。但是,考虑到你的问题,我会假设你真的在谈论这一点数学:
(5000)+($data[1][1])-$data[2][1]
你说上面应该等于4800,但从数学角度看,这是不可能的。稍后,在评论中,您声明您的数学以数字4900开头..因此错误变得清晰。将5000更改为4900,它应该根据您的设计工作。当然,你也应该修复你的数组的访问方式,因为没有5个索引(它会是4,我在这里重复一遍)。