如何创建数组类型变量的集合,其中一部分变量名称相似,另一部分是递增的


how to create a collection of array type variable with somepart of variable names similar and other part is incrementing?

我想创建10个变量,名称为answer-1,answer-2,answer-3等。我可以使用循环在这样的方式来创建变量,如果不是,那么我怎么能做到呢?

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

你的PHP语法都是错误的(是的,你错过了一些$,增加了额外的new)。您可以使用以下语法创建它们。它叫做变量变量

for($i=1;$i<=10;$i++){
    ${"answerswer_$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来循环,可以使用很多数组函数

你可以按照另一个答案中的说法来做,但通常以下方式更合适:

<?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!
?>

您应该考虑使用如下的多维数组:

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

…还是…

for($i=1;$i<=10;$i++)
  $answers[$i] = array();