for循环中的变量之后的php变量

时间:2012-07-11 21:26:01

标签: php

我需要一种方法来做到这一点

for($i=1;$i<=10;$i++){
$id$i = "example" . $i;
}

注意第二行有$ id $ i 所以对于第一个循环,$ id1将等于example1 在第二个循环中,$ id2将等于example2 等等... 非常感谢你!

5 个答案:

答案 0 :(得分:6)

您可以使用variable variable names执行此操作;但是,如果您只使用数组,它可能会更方便:

for($i = 1, $i <= 10, $i++) {
    $id[] = "example" . $i;
}

答案 1 :(得分:0)

如果您在其前面放置另一个$,则可以将字符串转换为变量(变量的名称):

$str = "number";
$number = 5;
$$str = 8;
echo $number;  // will output 8

所以在你的例子中,你可以这样做:

for($i = 1; $i <= 10; $i++) {
    $str_var = "id".$i;
    $$str_var = "example".$i;
}

答案 2 :(得分:0)

使用数组会好得多,但你可以这样做:

for($i=1; $i<=10; $i++){
    $var ="id$i";
    $$var = "example" . $i;
}

以下是我建议做的事情:

$ids = array;
for($i = 1; $i <= 10; $i++) {
    $ids[$i] = "example" . $i;
}

答案 3 :(得分:0)

您可以创建一个名为$i的大小为$id的数组,并将每个元素插入到不同的索引中。

for($i=1;$i<=10;$i++){
    $id[$i] = "example" . $i;
}

答案 4 :(得分:0)

$var = array();
for($i=1; $i<=10; $i++) {
$var['id' . $i] = 'example' . $i;
}
extract($var, EXTR_SKIP);
unset($var);

但为什么不使用简单的数组?