gardnc is right about the output. The functions return a value rather than print it.
That said, I would say that they could be improved. For example, [man]strstr/man could be replaced by [man]strpos/man, and [man]split/man by [man]explode/man. floor($minutes / 60) is calculated twice, and can be replaced by a cast to int in the first place. I might write them as:
// Transform hours like "1:45" into the total number of minutes, "105".
function hoursToMinutes($hours)
{
$minutes = 0;
if (strpos($hours, ':') !== false)
{
// Split hours and minutes.
list($hours, $minutes) = explode(':', $hours);
}
return $hours * 60 + $minutes;
}
// Transform minutes like "105" into hours like "1:45".
function minutesToHours($minutes)
{
$hours = (int)($minutes / 60);
$minutes -= $hours * 60;
return sprintf("%d:%02.0f", $hours, $minutes);
}