You can simply loop over each value and get the score right?
$sent_marks = [
'kick_off' => $request->kick_off == 0 ? null : $request->kick_off,
'first_test' => $request->first_test == 0 ? null : $request->first_test,
'project' => $request->project == 0 ? null : $request->project,
'mid_term' => $request->mid_term == 0 ? null : $request->mid_term,
'second_test' => $request->second_test == 0 ? null : $request->second_test
];
$collection->sum(function ($mark) {
if ($mark > 10) {
return 10;
}
if ($mark < 0) {
return 0;
}
return $mark;
}); // return the total score