echo 变量变量名称

echo variable variable name

提问人:user2960838 提问时间:11/6/2013 最后编辑:lonesomedayuser2960838 更新时间:11/6/2013 访问量:109

问:

我想回显一个变量变量名称,这不起作用:

echo ($["IMG$i"]);

$i在这种情况下,它会在 for 循环继续进行时发生变化。1

$IMG1是具有值的变量

PHP 变量

评论

0赞 Manwal 11/6/2013
使用阵列,这很适合您的情况。

答:

0赞 André Dion 11/6/2013 #1

您的代码包含语法错误,但假设您有一个变量作为您的数组,您需要做的就是$arrecho $arr["IMG" . $i]

0赞 David 11/6/2013 #2
echo $arr['IMG' . $i];

像馅饼一样简单。我不建议使用字符串插值(使用双引号内的变量),因为它的性能很差且存在安全漏洞。

1赞 lonesomeday 11/6/2013 #3

从理论上讲,你可以做到这一点。

$variablename = 'IMG' . $i;
echo $$variablename;

或者干脆

echo ${IMG . $i};

这是一种称为变量变量的 PHP 语言功能。

这是一个非常糟糕的主意。不要这样做。

相反,构建一个数组。

$images = array('first', 'second', 'third');
foreach($images as $image) {
    echo $image;
}

// or

for ($i = 0; i < count($images); $i++) { // this might be what you already have
    echo $images[$i];
}