首页 > 解决方案 > 动态变量名称/增量变量名称

问题描述

请问有人可以在循环中帮助我处理动态变量吗?在下面的代码中,我有 4 个变量和一个循环 4 次的 echo。

当循环运行时,每个变量都应该回显(在我插入 $var* 作为占位符的代码中)。

如何在 echo 语句中增加 $var* ($var1 应该回显,然后 $var2 等等)?

非常感谢

$var1 = 'A';
$var2 = 'B';
$var3 = 'C';
$var4 = 'D';

for ($i = 1; $i < 5; $i++) {

    echo ($var*);

}

标签: loopsvariables

解决方案


这就是所谓的“变量变量”。变量定义由两部分组成:美元符号,它告诉解释器它是一个变量,以及变量名本身,简而言之是一个字符串;我在这里称它为“身体”。

因此,如果您有$var = 'my_other_var'and $my_other_var = 'hey',您可以使用字符串“my_other_var”作为变量调用的“主体”。

然后echo $$var产生“嘿”。

这里有你的例子:

<?php

$var1 = 'A';
$var2 = 'B';
$var3 = 'C';
$var4 = 'D';

for ($i = 1; $i < 5; $i++) {

    $varToEcho = "var$i"; // will become var1, var2, var3 and so on

    echo $$varToEcho;

}

推荐阅读