tiempo de trabajo en fechas incorrectas

Encontré algo extraño sobre strtotime ().

En fechas que no existen, regresa al día siguiente.

$d30= strtotime("2017-06-30");
Echo $d30 ."\n";
Echo date("Y-m-d", $d30)."\n\n";  // 2017-06-30

$d31= strtotime("2017-06-31");
Echo $d31 ."\n";
Echo date("Y-m-d", $d31)."\n\n";  // 2017-07-01

$d32= strtotime("2017-06-32");
Echo $d32 ."\n";
Echo date("Y-m-d", $d32);         // 1970-01-01

https://3v4l.org/AjMAE

Entiendo el último. No devuelve nada ya que es un error.
Pero, ¿por qué el segundo regresa el primero de julio?
¿Está destinado a ser funcional, en caso de que cometa un error, lo "corregirá"? ¿O es un verdadero error en strtotime ()?

Respuestas a la pregunta(2)

Su respuesta a la pregunta