在一个php echo中添加两个$ row

时间:2015-03-27 11:12:04

标签: php echo

我甚至不确定我想做的事情是否可行,我有一个简单的php回音线,如下所示..

<?php echo $T1R[0]['Site']; ?>

这很好但我想让$ T1R中的“1”变得流畅,是否可以做类似的事情。

<?php echo $T + '$row_ColNumC['ColNaumNo']' + R[0]['Site']; ?>

将1替换为ColNaumNo的内容,即返回的结果可能是..

<?php echo $T32R[0]['Site']; ?>

2 个答案:

答案 0 :(得分:3)

可以在PHP中使用。该概念称为"variable variables"

这个想法很简单:您生成要使用的变量名称并将其存储在另一个变量中:

$name = 'T'.$row_ColNumC['ColNaumNo'].'R';

注意string concatenation operator。 PHP为此使用了一个点(.),而不是加号(+)。

如果$row_ColNumc['ColNaumNo']的值为32,则存储在变量$name中的值为'T32R';

然后,您可以使用额外的$name添加变量$,以将其用作另一个变量(间接)的名称。代码echo($$name);打印变量$T32R的内容(如果有的话)。

如果变量$T32R存储数组,那么语法$$name[0]是不明确的,解析器需要提示来解释它。在(变量变量的)文档页面中对此进行了详细解释:

  

为了将变量变量与数组一起使用,您必须解决模糊问题。也就是说,如果您编写$$a[1],则解析器需要知道您是否打算将$a[1]用作变量,或者您希望$$a作为变量然后[1]来自该变量的索引。解决这种歧义的语法是:第一种情况为${$a[1]},第二种情况为${$a}[1]

答案 1 :(得分:0)

你可以这样做

$T1R[0]['Site'] = "test";

$c = 1;

$a = "T".$c."R";

$b = $$a;

echo "<pre>";
print_r($b[0]['Site']);

或者像这样更简单

$T1R[0]['Site'] = "test";

$c = 1;

$a = "T".$c."R";

echo "<pre>";
print_r(${$a}[0]['Site']);