我可以使用带计数器的for循环初始化变量吗?

时间:2018-08-17 18:17:55

标签: php

我正在尝试初始化要发送到服务器端脚本的变量的迭代。我不想分别输入它们,所以我想知道我所拥有的是否是有效的语法,或者是否有更有效的方法来做到这一点。

for($i = 1; $i <=10; $i++){
  $itemNumber.$i = $_POST['title'.$i];
  $itemType.$i = $_POST['type'.$i];
  $itemDescription.$i = $_POST['description'.$i];
  $itemAmount.$i = $_POST['amount'.$i];
  $itemComments.$i = $_POST['comments'.$i];
}

我的预期输出是:

$itemNumber1 = $_POST['title1'];

$itemType1 = $_POST['type1'];

... 第一次迭代等等之后

1 个答案:

答案 0 :(得分:1)

您可以使用PHP的Curly Brackets(也称为复杂语法)来完成此操作

for($i = 1; $i <=10; $i++){
    ${"itemNumber$i"} = $_POST["title$i"];
    ${"itemType$i"} = $_POST["type$i"];
    ${"itemDescription$i"} = $_POST["description$i"];
    ${"itemAmount$i"} = $_POST["amount$i"];
    ${"itemComments$i"} = $_POST["comments$i"];
}

但是您实际上不应该这样做,也许有一种更好的方法来处理您要尝试做的事情。