Make it easier :)
echo date('Y-m-d (l, W)', strtotime("-52 week"));
Edit: I forgot to write output: :)
2014-05-07 (Wednesday, 19)
UPDATE2:
There is a problem with jeromegamez' code. A year can contain 52 or 53 weeks. Taking 3 January of 2016:
$today = new \DateTime();
$today->setDate ( 2016 , 1 , 3 );
$year = (int) $today->format('Y');
$week = (int) $today->format('W'); // Week of the year
$day = (int) $today->format('w'); // Day of the week (0 = sunday)
$sameDayLastYear = new \DateTime();
$sameDayLastYear->setISODate($year - 1, $week, $day);
echo "Today: ".$today->format('Y-m-d (l, W)').PHP_EOL;
echo "Same week and day last year: ".$sameDayLastYear->format('Y-m-d (l, W)').PHP_EOL;
result is:
Today: 2016-01-03 (Sunday, 53)
Same week and day last year: 2015-12-27 (Sunday, 52)
only five days instead of years :)