PHP在字符串中的字符串中变量

时间:2014-08-27 03:55:38

标签: php loops foreach

我试图回显一个包含已存储在变量中的变量的sting。基本上我正在构建一个可以根据不断变化的列数动态构建表的类。我需要在具有我的db结果的foreach循环之前将我的db字段名称放入foreach循环中,然后在循环中迭代它们。问题是我必须在db结果循环之前将它们存储在循环中;它没有把它识别为变量而只是给我一个纯文本' $ row [' myVar']'。

如何识别第二个循环中的变量?

$sqlVarNames = explode(', ', $sqlVar);
foreach ($sqlVarNames as $columnVar) {
    $finalColumnVars .= '<td>\'. $row[\''.$columnVar.'\'] .\'</td>';
}

然后进入我的第二个循环

foreach ($sqlResult as $row) {
    echo '<tr>';
    echo $finalColumnVars;
    echo '</tr>';
} 

我在$ finalColumnVars上尝试了各种转义序列,似乎无法在纯文本上输出变量。

以下是我使用上述代码获得的内容

<td>'. $row['client_name'] .'</td>

这可能吗?

2 个答案:

答案 0 :(得分:4)

$sqlVarNames = explode(', ', $sqlVar);
foreach ($sqlVarNames as $columnVar) {
    $finalColumnVars .= '<td>'.$row[$columnVar].'</td>';
}

答案 1 :(得分:1)

这里是你如何合并这两个循环并获得所需的。

$sqlVarNames = explode(', ', $sqlVar);
foreach ($sqlResult as $row) {
    echo '<tr>';
    foreach ($sqlVarNames as $columnVar) {
        echo '<td>'. $row[$columnVar] .'</td>';
    }
    echo '</tr>';
}