不确定标题是否是正确的标题,但我不知道如何调用我想要完成的内容.表面上看起来很简单......
我写了以下代码:
$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 |
我尝试了很多东西,但无法找到可行的解决方案,任何帮助都会得到很多帮助.
谢谢
在这里看到这个陈述,
$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的解决方案,我稍作修改以满足您的需求.初始化$x与5和改变你的while()循环以下面的方式,
$output = "";
while (--$x) {
$result = "var" . $x;
$output = $$result . " | " . $output;
}
echo rtrim($output, " | ");
Run Code Online (Sandbox Code Playgroud)
在这个解决方案中,当你离开循环时,你最终会得到一个额外|的,你需要使用rtrim()函数减少.
这是一个演示