所以我有一个非常简单的php问题,我对编程很新,所以不知道如何做到这一点。在foreach中它正在抓取正确的项目并正确显示它们,但我想在每个项目之后添加一个逗号除了最后一个,我的foreach看起来像这样:
foreach ($item->approved_hours as $hours) {
print_r($hours->num_hours. " Hour(s)" . " " .$hours->hours_type->Name. " Name ");
}
答案 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);
希望有所帮助!