我正在编写一些代码来自动创建字段,这将为我节省大量时间。我的大部分代码都工作正常,但是我发现代码出现了一个错误,导致我无法实现最终目标。
代码如下:
while ($i <= $numFields) {
$type = "\$field{$i}_Data['type']";
$name = "\$field{$i}_Data['name']";
$placeholder = "\$field{$i}_Data['placeholder']";
$value = "\$field{$i}_Data['value']";
echo '<input type="'.$type.'" name="'.$name.'" placeholder="'.$placeholder.'" value="'.$value.'">';
$i++;
}
$ numFields变量是在我的脚本顶部定义的,我已经知道它与我如何设置变量$ type,$ name等有关。
最终结果是根据脚本顶部变量中设置的属性创建输入。我遇到的唯一问题是变量的设置,如上所述。
如果需要任何额外的代码/信息,请随时提问。
谢谢。
注意 - 没有物理PHP错误,它纯粹是一个错误:
"\$field{$i}_Data['value']";
答案 0 :(得分:1)
我们可以用几种方法编写这个,但它们都是变量扩展和/或变量变量的扩展。
基本上,我们只需要将变量名称放在一个字符串中,然后将该字符串用作变量(就像你目前在字符串中使用$i
一样):
$type = ${"field{$i}_Data"}['type'];
$name = ${"field{$i}_Data"}['name'];
// ...
但是,如果您不介意额外的变量,可以通过保存它来更清晰地写出:
$data = ${"field{$i}_Data"};
$type = $data['type'];
$name = $data['name'];
// ...