0

我有一个名为Infomundo的网站,在该网站下我遇到了 php 问题:

$c=1;
  while($c!=17)
  { $fecha_semana$c=$_POST['fecha_semana$c'];
    $interes_semana$c=$_POST['interes_semana$c'];
    $capital_semana$c=$_POST['capital_semana$c'];
    $recargos_semana$c=$_POST['recargos_semana$c'];
    $iva_semana$c=$_POST['iva_semana$c'];
    $pagado_semana$c=$_POST['pagado_semana$c'];
    $c=$c+1;
  }

但是变量 $fecha_semana$c、$interes_semana$c 等是错误的,我该如何解决?

4

2 回答 2

2

您在数组取消引用中使用单引号:

$_POST['fecha_semana$c'];

这不会评估$c; 使用双引号:

$_POST["fecha_semana$c"];

也可以看看:string

此外,您需要在赋值的左侧使用可变变量:

${"fecha_semana$c"} = $_POST["fecha_semana$c"];

更新

如果您在表单字段中使用数组语法,这个问题会更容易:

<input name="fecha_semana[]" value="123" />
<input name="fecha_semana[]" value="456" />
<input name="fecha_semana[]" value="678" />

发布后,您将在 PHP 中拥有一个数组:

print_r($_POST['fecha_semana']);
// ["123", "456", "678"]
于 2013-02-13T00:11:54.837 回答
0

作为 Jack 解决方案的替代选项,您可以使用连接:

$_POST['fecha_semana'.$c];

我个人更喜欢串联,因为我更容易看到变量在哪里使用,但我想说这在很大程度上是一个偏好问题。

于 2013-02-13T00:15:59.187 回答