【问题标题】:create new variables with a for cycle使用 for 循环创建新变量
【发布时间】:2012-01-21 10:58:50
【问题描述】:

您好,我有一个名为的值列表:

  • $value1
  • $value2
  • $value3
  • ...

我想将每个值分配给一个数组元素;类似:

$my_array[1]=$value1;
$my_array[2]=$value2;
$my_array[3]=$value3;

如何使用 for 循环来做到这一点?数组不是问题,但我不知道如何为该值编写一些代码,它应该是这样的:

for($i=1; $i<=10000; $i++)
{
    $my_array[$i]=$value$i;
}

【问题讨论】:

    标签: php arrays variables element variable-assignment


    【解决方案1】:

    试试这个:

    for ($i=1; $i<=10000; $i++) {
        $val_name = "value" . $i;
        $my_array[$i]=$$val_name;
    }
    

    【讨论】:

    • 如果你想知道,它叫做Variable Variables
    • 谢谢大家!它有效,但我应该只使用一个 $ 而不是两个,所以 $my_array[$i]=$val_name;
    【解决方案2】:

    你快到了:

    for($i=1; $i<=10000; $i++)
    {
        $my_array[$i] = $value;
    }
    

    或者这个,如果你也想附加计数器:

    for($i=1; $i<=10000; $i++)
    {
        $my_array[$i] = $value . $i;
    }
    

    【讨论】:

      【解决方案3】:

      您正在寻找的是 {}。

      $my_array[$i]=${'value'.$i};
      

      【讨论】:

        【解决方案4】:
        for ($i = 1; isset(${"value$i"}); $i++) {
          $my_array[$i] = ${"value$i"};
        }
        

        这种语法称为variable variables

        【讨论】:

          【解决方案5】:

          您可以使用$$ 语法:

          for($i = 1; $i <= 10000; $i++) {
              $name = 'value' . $i;
              $my_array[$i] = $$name;
          }
          

          【讨论】:

            猜你喜欢
            • 2015-12-26
            • 2018-02-18
            • 1970-01-01
            • 2018-02-10
            • 2013-12-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-05-20
            相关资源
            最近更新 更多