我必须遍历一个名为$logs
的对象才能显示查询的数据。我还想循环遍历我创建的一组数字,以便让它们排在查询数据的每一行旁边。从我的代码我得到一个数组到字符串转换错误。有谁知道为什么会这样?
$sql1 = "SELECT * FROM client_table GROUP BY client_name";
$query = $this->db->prepare($sql1);
$query->execute();
$logs = $query->fetchAll();
$totals = array($darty, $doug, $eliott, $henry, $leo, $neo, $rforgo, $sample,
$susanne, $tim);
foreach ($logs as $log) {
echo date("Y m-d ");
echo "2nd half ";
echo $log->client_name . " ";
$totals . "\n" ;
}
答案 0 :(得分:2)
在最后一行:$totals
是一个数组,并且您将其与字符串连接起来。所以它试图把它当作一个字符串。使用implode
或循环遍历它。并echo
如果那是你想要做的事情。
echo implode(', ', $totals) . "\n";
答案 1 :(得分:0)
关于你的评论:
不幸的是,它打印出一行,后面是整个数组内容;另一行,整个数组内容等。有没有办法让它所以第1行只输出第一个数组项;数组二,第二,等等?
你可以这样做,但你的逻辑确实存在问题。
$k=0;
foreach ($logs as $log) {
echo date("Y m-d ");
echo "2nd half ";
echo $log->client_name . " ";
if ( isset( $totals[$k] ) )
echo $totals[$k] , "\n" ;
$k++;
}