1

我想制作 10 个变量,名称分别为 answer-1、answer-2、answer-3 等。我可以以这种方式使用for循环来创建变量,如果不能,我该怎么做?

<?php
for(i=1;i<=10;i++){
$answer_+i=new array();
}
?>
4

3 回答 3

2

您的 PHP 语法完全错误(是的,您错过了一些$s 并添加了额外的new)。您可以使用以下语法创建它们。它称为变量变量

for($i=1;$i<=10;$i++){
    ${"answer_$i"} = array();
}

但我建议你为此使用数组。数组更方便。

for($i=1;$i<=10;$i++){
    $answer[$i] = array();
}

这里$answer_1是你的意愿$answer[1]。最好是不使用显式索引

for($i=1;$i<=10;$i++){
    $answer[] = array();
}

现在$answer_1$answer[0]for你可以通过,来循环它foreach,可以使用很多数组函数

于 2013-01-12T14:44:18.657 回答
0

您可以按照另一个答案中的说明进行操作,但通常以下方法更适合:

<?php
$answers = array();
for($i=1;$i<=10;$i++){
$answers[]= array("blah", "123");
}
?>

因此,您可以通过以下方式访问答案#4:

<?php
$answers = array();
for($i=1;$i<=10;$i++){
$answers[]= array("blah", $i);
}
echo $answers[3] //array indexes start at 0!
?>
于 2013-01-12T14:47:37.073 回答
0

您应该考虑使用多维数组,例如:

$answers = array(
  1 => array(),
  2 => array()
);

... 或者 ...

for($i=1;$i<=10;$i++)
  $answers[$i] = array();
于 2013-01-12T14:49:13.670 回答