-1

我正在循环一个 SQL 查询,我想获取该输出并将其保存为字符串变量。这可能吗?

我的循环如下:

 foreach ($dbh->query($sql2) as $row2) {
        echo $row2['id'];
        echo $row2['staff'];
        echo $row2['dept'];
    }

我想将所有输出保存为一个字符串变量,即$output

4

3 回答 3

7
$output="";

foreach ($dbh->query($sql2) as $row2) {
   $output.= $row2['id'];
   $output.= $row2['staff'];
   $output.= $row2['dept'];
}

您可以附加每列结果

echo $output
于 2012-08-10T18:59:52.400 回答
2

您应该研究输出缓冲。

ob_start();
foreach ($dbh->query($sql2) as $row2) {
        echo $row2['id'];
        echo $row2['staff'];
        echo $row2['dept'];
    }
$output = ob_get_clean();

输出缓冲

于 2012-08-10T19:00:38.653 回答
0

使用 implode,如果你想将 String 转换为 Array,请使用 explode

$output=implode(',', $dbh->query($sql2));

第一个参数是可选的并且您输入的任何标记都由数组成员分隔,例如:

$ar = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
echo implode($ar); // abcdefg
$ar = ['a', 'b', 'c', 'd', 'e', 'f', 'g'];
echo implode(',',$ar); // a,b,c,d,e,f,g
于 2020-02-10T14:07:28.410 回答