在while循环中组合PHP变量

bad*_*atz 0 php variables

不确定标题是否是正确的标题,但我不知道如何调用我想要完成的内容.表面上看起来很简单......

我写了以下代码:

$var1 = "55";
$var2 = "66";
$var3 = "22";
$var4 = "22";
$x = 1;
$result = "null";

while($x < 5) {
$result = "$" . "var" . "$x";
echo $result;
echo " | ";
$x = $x +1;
}
Run Code Online (Sandbox Code Playgroud)

希望得到:55 | 66 | 22 | 22

相反,我得到:$ var1 | $ var2 | $ var3 | $ var4 |

我尝试了很多东西,但无法找到可行的解决方案,任何帮助都会得到很多帮助.

谢谢

Raj*_*aul 5

在这里看到这个陈述,

$result = "$" . "var" . "$x";
Run Code Online (Sandbox Code Playgroud)

$result变量实际上是一个字符串.要获得它的值,请使用变量变量.此外,根据您的方法,您最终会获得额外的额外|收益.因此,要获得所需的结果,请while()按以下方式更改循环,

while (true) { 
    $result = "var" . $x; 
    echo $$result;
    if($x++ == 4) break;
    echo " | ";
}
Run Code Online (Sandbox Code Playgroud)

这是一个演示


此外,请查看@freginold的解决方案,我稍作修改以满足您的需求.初始化$x5和改变你的while()循环以下面的方式,

$output = "";
while (--$x) { 
    $result = "var" . $x; 
    $output = $$result . " | " . $output; 
}
echo rtrim($output, " | "); 
Run Code Online (Sandbox Code Playgroud)

在这个解决方案中,当你离开循环时,你最终会得到一个额外|的,你需要使用rtrim()函数减少.

这是一个演示