簡體   English   中英

雙向數組未打印值

[英]bidimentional array is not printing values

需要有關此數組的幫助,所有內容都可以正常工作,但最后一行不會在$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;

接下來的問題是:

$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) ;

給定注釋,很明顯您在數學上出錯了。 但是在我開始之前..通常數組是零索引的..意味着第一項從零開始,然后從零開始計數。 因此,給定數組中沒有這樣的元素,您的$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,因此我在這里重復一下),您還應該修復如何訪問數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM