如何在php中的数组请求中使用变量

时间:2016-07-12 16:13:20

标签: php arrays variables while-loop

我正在使用

$i = 0;
while ($i <= 6) {
    print $game['stats']['item0'];
    $i++;
}

我希望item0增加到item1最多item6,所以最后一次应该是 print $game['stats']['item6'];

我也尝试过:$game['stats']['item{$i}']但它不起作用。

对我有什么想法?

6 个答案:

答案 0 :(得分:2)

如果你需要做一些设定的次数,for循环通常比while循环更简洁。

for ($i=0; $i < 6; $i++) {
    print $game['stats']["item$i"];
}

这不是一种正确的方式,它实际上只取决于你的风格,但我认为值得一提。

答案 1 :(得分:1)

你可以试试这个:

while ($i <= 6) {
    $key = 'item'.$i;   
    print $game['stats'][$key];
    $i++;
}

答案 2 :(得分:0)

你应该好好接受这个

$i = 0;
while ($i <= 6) {
    print $game['stats']["item$i"];
    $i++;
}
  

当用双引号或heredoc,变量指定字符串时   在其中解析。

答案 3 :(得分:0)

在字符串末尾包含$i

<?php
$i = 0;
while ($i <= 6) {
    print $game['stats']['item' . $i];    //<============== , 'item0', 'item1', ...
    $i++;
}
?>

答案 4 :(得分:0)

这是您的代码的编辑版本。它应该工作:

<?php
$i = 1;
$game = array("stats" => 
array("item1" => 1, "item2" => 2, "item3" => 3, "item4" => 4, "item5" => 5, "item6" => 6 ));
while ($i <= 6) {
    $tmp = 'item'.$i;
    print $game['stats'][$tmp];
    $i++;
}

答案 5 :(得分:0)

您必须在项目后附加$ i。而且您不需要定义新变量。

$i = 0;
while ($i <= 6) {
    print $game['stats']['item'.$i];
    $i++;
}