在PHP foreach中显示的每个项目后添加逗号

时间:2017-11-30 17:37:10

标签: php foreach comma

所以我有一个非常简单的php问题,我对编程很新,所以不知道如何做到这一点。在foreach中它正在抓取正确的项目并正确显示它们,但我想在每个项目之后添加一个逗号除了最后一个,我的foreach看起来像这样:

 foreach ($item->approved_hours as $hours) {
     print_r($hours->num_hours. " Hour(s)" . " " .$hours->hours_type->Name. " Name ");
 } 

2 个答案:

答案 0 :(得分:0)

您可以在foreach循环之外创建一个增量变量,并将其设置为等于1。然后在打印字符串后,检查增量器变量是否等于要循环的数组的长度。如果不是,那意味着数组中至少还有一个元素,并且应该包含逗号。

$count = 1;
foreach($item->approved_hours as $hours) {

    echo $hours->num_hours. " Hour(s)" . " " . $hours->hours_type->Name. " Name";
    if($count != count($item->approved_hours)){
        echo ",";
    }
    $count++;

} 

答案 1 :(得分:0)

Print_r最适合用于检查对象。所以你的情况,首先,因为你只是输出文字我会使用echo。我倾向于建立一个单独的响应字符串并且只使用echo一次,所以我先添加了html换行符;

$output = "";
foreach ($item->approved_hours as $hours) {
     $output .= "<br>" . $hours->num_hours. " Hour(s)" . " " . $hours->hours_type->Name . " Name,";
}
echo substr($output, 0, strlen($output) - 1);

希望有所帮助!