É simples retornar a data atual em português, sem precisar usar malabarismos com arrays, ifs/elses, switch/case..

O php tem muitas funções, mas nem sempre lembramos de dar uma olhada pesquisada no manual, antes de tentarmos reinventar a roda.

Em php:

<?php
  setlocale(LC_ALL, "pt_BR", "pt_BR.iso-8859-1", "pt_BR.utf-8", "portuguese");
  date_default_timezone_set('America/Sao_Paulo');

  $date = '2011-05-08';
  echo strftime("%A, %d de %B de %Y", strtotime( $date ));

http://br2.php.net/manual/pt_BR/function.date-default-timezone-set.php

E no SQL: [bem lembrado pelo @Victor Cometti ]

SET lc_time_names = 'pt_BR';
SELECT DATE_FORMAT(CURDATE(), '%d %b %Y') AS data;

http://dev.mysql.com/doc/refman/4.1/pt/date-and-time-functions.html

“As restrições impostas por uma dada linguagem de programação ou o conhecimento incompleto das suas potencialidades pode conduzir a raciocínios (e conseqüentes projetos) relativamente limitados.”