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


Add two $row together in one php echo

我什至不确定我想要做的事情是否可行,我有一个简单的php回声线,如下所示。

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

这很好用,但我想让 $T 1R 中的"1"变得流畅,是否可以做类似 ..

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

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

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

这在 PHP 中是可能的。这个概念被称为"变量"。

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

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

注意字符串连接运算符。PHP 为此使用点 ( . (,而不是加号 (+ (。

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

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

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

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

你可以这样做

$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']);