Pues tienes que hacer varias sentencias if, vamos que no es nada del otro mundo
Edito:
Al ser date_diff una función que devuelve algo como esto:
Código PHP:
Ver originalDateInterval
::__set_state
(array( 'y' => 0, 'm' => 0, 'd' => 0, 'h' => 17, 'i' => 14, 's' => 14, 'invert' => 1, 'days' => 0, ))
Se debe verificar que todos los valores anteriores al valor que se quiere mostrar sean cero para poder escoger un valor, me explico
Código PHP:
Ver originalif( $fecha->i == 0 && $fecha->h == 0 && $fecha->d == 0 && $fecha->m == 0 && $fecha->y == 0 ){
$diferecia = "$fecha->s segundos";
} else if( $fecha->h == 0 && $fecha->d == 0 && $fecha->m == 0 && $fecha->y == 0 ){
$diferecia = "$fecha->i minutos, $fecha->s segundos";
}
Y así sucesivamente
PD: Tener en cuenta los valores devueltos por diff para que os hagaís una idea de los valores que deben de usar para comparar cada intervalo
Saludos