PHP - 更改 for 循环中使用的变量

PHP - change used variable in for loop

我有以下问题:

我的脚本中有一些变量。 现在我想在for循环中处理它们,但不知道如何解决我的小问题。

我的想法是每次都更改变量的编号(名称)。

这是我的脚本

<?php

$tropfenzahl = 2;

$v1_d1 = 10;
$v1_w2 = 20;
$v1_d2 = 30;
$v1_w3 = 40;

   for($i = 1; $i <= $tropfenzahl; $i++) {
      echo $v1_d1;
      echo $v1_w2;
   }
?>

下次我要回显$v1_d2$v1_w3(上一个数) .

我认为解决方案很简单,但我现在不明白=/

玩得开心!

你看错了。也许试试这个

<?php

$tropfenzahl = 4;

$myArray = array(10,20,30,40);

foreach ($myArray  as $numbers) {
    if ($tropfenzahl == 4) {
        # do something
    }else{
        # Do something else
    }
}

?>

如果你想遍历数字,它们需要在一个数组中

使用数组。 http://php.net/manual/en/language.types.array.php

$tropfenzahl = 4;
$v1_d = [10, 30, 50, 70];
$v1_w = [20, 40, 60, 80];

for($i = 0; $i < $tropfenzahl; $i++) {
  echo $v1_d[$i];
  echo $v1_w[$i];
}

如果您不想遍历数组但实际上出于某种原因确实需要遍历单独的变量,则可以将要使用的变量保留为字符串,然后使用双精度 $$访问它们:

$tropfenzahl = 4;

$v1_d1 = 10;
$v1_w2 = 20;
$v1_d2 = 30;
$v1_w3 = 40;

$d_variable = "v1_d1";
$w_variable = "v1_w2";

for($i = 1; $i <= $tropfenzahl; $i++) {
    echo $$d_variable;
    echo $$w_variable;

    $d_variable++;
    $w_variable++;
}

如果你只是回应了一系列数字,我很困惑你为什么不简单地做:

echo implode(range(10, 40, 10));

https://3v4l.org/lquQQ

如果您有一组任意变量要循环,请使用 compact() 函数将它们放入数组中。

<?php
$v1_d1 = 10;
$v1_w2 = 20;
$v1_d2 = 30;
$v1_w3 = 40;

foreach (compact('v1_d1', 'v1_w2', 'v1_d2', 'v1_w3') as $var) {
    echo $var;
}

https://3v4l.org/1dYIY