将两个 $row 添加到一个 php echo

Add two $row together in one 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']; ?>

你可以这样做

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

在 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] 是不明确的,解析器需要提示来解释它。在(可变变量的)文档页面中有很好的解释:

In order to use variable variables with arrays, you have to resolve an ambiguity problem. That is, if you write $$a[1] then the parser needs to know if you meant to use $a[1] as a variable, or if you wanted $$a as the variable and then the [1] index from that variable. The syntax for resolving this ambiguity is: ${$a[1]} for the first case and ${$a}[1] for the second.