【发布时间】:2020-04-21 18:08:18
【问题描述】:
免责声明:我对 PHP 很陌生,所以请耐心等待。我花了一整天的时间试图弄清楚这一点,但我觉得我不知道正确的方法或尝试错误的方法。
我想要达到的目标
我让用户从表单中的多选输入字段中选择最多三个项。我想将有关这些项目的所有信息打印到 pdf 中,这些信息保存在单独的数组中。输入字段包含大约 10 个不同的选项(比如说 A1 到 A10),我在提交表单后将它们提取到一个数组中:
$itemList = [
[0] => A1,
[1] => A2, // optional
[2] => A3 // optional
]
现在我为每个项目创建了一个单独的数组,其中包含附加信息(稍后可能来自数据库):
$infoA1 = [
"info1" = "lorem",
"info2" = "ipsum",
"info3" = "dolor"
]
$infoA2 = [
"info1" = "sit",
"info2" = "amet",
"info3" = "tatem"
]
$infoA3 ...
所有信息值都应分配给变量以放置在 pdf 中,因此我必须检查总共选择了多少项目,并且对于每个选定的项目,我需要调用如下函数:
function items1() {
$pdf->SetXY(188.5,24); // *Note
$pdf->Cell(17,4.7, $info1 ,0,2,''); // $infoA1[0] = $info1
$pdf->Cell(17,4.7, $info2 ,0,2,''); // $infoA1[1] = $info1
$pdf->Cell(17,4.7, $info3 ,0,2,''); // $infoA1[2] = $info1
}
*注意:我不能对所有项目都使用一个函数,因为每个选定项目的信息变量必须转到 pdf 上不同的 X 和 Y 位置。
...
这是我的主要问题:
如何检查提交的
$itemList数组中的哪些项目并获取具有相同名称的$info array以将相应的info values分配给填充 pdf 的占位符变量?
我的想法是我可以以某种方式比较名称,例如获取 info array,其中名称包含与提交的项目相同的值(例如“$infoA1”中的“A1”)。不过,到目前为止还没有运气。
再次,我怀疑我在这里使用了错误的方法,因此非常感谢任何见解。此外,据我所知,这里的人们喜欢只回答所提供的确切问题:如果这当然适合这种情况,我愿意重组我目前的方法。
【问题讨论】: