将foreach输出保存为字符串变量?

时间:2012-08-10 18:55:30

标签: php mysql pdo

我正在遍历SQL查询,我想获取该输出并将其保存为字符串变量..这可能吗?

我的循环如下:

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

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

3 个答案:

答案 0 :(得分:5)

$output="";

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

您可以附加每列结果

答案 1 :(得分:2)

你应该研究输出缓冲。

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

Output buffering

答案 2 :(得分:0)

使用爆破,如果要将字符串转换为数组,请使用爆炸

$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