This works for most months, but for example, April 2011 has 5 saturdays, so this returns 23 instead of 30.
$last_saturday = date("j", strtotime('Fourth Saturday'.date('F o')));
Interestingly enough, strtotime("last saturday of this month") does exactly that.
strtotime("last saturday of this month")
See Supported Date and Time Formats for more, particularly the section on Relative Formats.
2.1m questions
2.1m answers
60 comments
57.0k users