var_dump(date("Y-m-d", strtotime("-1 month", strtotime("2018-10-15"))));
//'2018-09-15'
var_dump(date("Y-m-d", strtotime("-1 month", strtotime("2018-10-31"))));
//'2018-10-01'
var_dump(date("Y-m-d", strtotime("-1 month")));
//'2018-09-15'
var_dump(date("Y-m-d", strtotime("first day of -1 month", strtotime("2018-10-31"))));
//2018-09-01