在范围内动态创建变量

时间:2012-05-07 09:08:55

标签: variables random new-operator dynamically-generated

在任何编程语言(如php,java,javascript等)中,是否可以在给定名称空间内的循环中动态创建变化数量的变量?

例如,如果我想创建具有1到5之间随机数的N个变量,它们被称为random1,random2 .. randomN,是否可以执行以下操作:

loop ( N ){<br>
  create variable randomN = random(1,5);<br>
}

2 个答案:

答案 0 :(得分:1)

在PHP中,您可以使用变量:

$N = 5;
for ($i = 0; $i != $N; ++$i) {
    ${"random$i"} = rand(1, 5);
}

在JavaScript中,同样的事情:

var N = 5;
for (var i = 0; i != N; ++i) {
    window['random' + i] = Math.round(Math.random() * 5);
}

虽然,我建议使用“容器”来保存这些变量,这样它们就不会全局创建。

答案 1 :(得分:1)

或者您可以使用$$,请参阅variable variables

for ($n = 1; $n <= 5; $n++) {
    $varName = 'random' . $n;
    $$varName = rand(1, 5);
}

$vars = get_defined_vars();
var_dump($vars);