php - 循环遍历数组以输出数据

时间:2014-06-02 14:32:28

标签: php arrays foreach

我必须遍历一个名为$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" ;

}

2 个答案:

答案 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++;
}