When I run the following code, I get the 30th of April rather than the 27th.
strtotime("Last Friday April 2012");
I tried running it as a Thursday instead and I got back the 29th.
All the following work fine.
strtotime("First Sunday February 2012");
strtotime("Third Monday February 2012");
strtotime("Second Monday October 2012");
strtotime("Fourth Thursday November 2012");
Any ideas?