FPDF - 如何在全球范围内制作 getstringwidth?

FPDF - how to make getstringwidth globaly?

我想在使用 while 时调用已在另一个 while 中声明的 getstringwidth 只是为了设置下一行的宽度。

我的 table 标题:

while ($row2x = $stmt2x->fetch(PDO::FETCH_ASSOC)){
    $string = $row2x['nama_kriteria'];
    $cellwidth = $pdf->GetStringWidth($string);
    $pdf->Cell($cellwidth + 2,7,$row2x['nama_kriteria'],1,0,'L');
}

如何为下 table 行使用 table 标题宽度?

我的 table 行:

while ($rowrx = $stmtrx->fetch(PDO::FETCH_ASSOC)){
        $pdf->Cell(/*$cellwidth + 2*/,7,$rowrx['nilai_rangking'],1,0,'L');
    }

现在,我的 table 看起来像:

知道怎么做吗good-looking?

尝试将宽度存储在数组中。

$width = array();
while ($row2x = $stmt2x->fetch(PDO::FETCH_ASSOC)){
    $string = $row2x['nama_kriteria'];
    $cellwidth = $pdf->GetStringWidth($string);
    $pdf->Cell($cellwidth + 2,7,$row2x['nama_kriteria'],1,0,'L');
    $width[] = $cellwidth + 2;
}

$i = 0;
while ($rowrx = $stmtrx->fetch(PDO::FETCH_ASSOC))
{
    $pdf->Cell($width[$i],7,$rowrx['nilai_rangking'],1,0,'L');
    $i++;
}

您需要填充从 $cellwidth = $pdf->GetStringWidth($string); 获得的宽度数组,然后您只需使用来自宽度变量

的那个宽度的值