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

问题描述 投票:-1回答:3

我正在遍历一个SQL查询,我想获取该输出并将其保存为字符串变量。是否可以?

我的循环如下:

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

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

php mysql pdo
3个回答
5
投票
$output="";

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

您可以附加每个汇总结果

echo $output

2
投票

您应该研究输出缓冲。

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

Output buffering


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
© www.soinside.com 2019 - 2024. All rights reserved.