Ir para conteúdo
Fórum Script Brasil
  • 0

retorno data


MTavares

Pergunta

Olá colegas.

Eu tenho a seguinte data no banco:

14 de Julho de 2012

Trago a data do banco para o site:

$dataNascimento = explode("de",$mtDados->DataNascimento);
Agora quero fazer a comparação do mês do banco (Julho) com o mês do site (07):
switch($dataNascimento[1]){
                                 case "Janeiro" : $mesNascimento = "01"; break;
                                 case "Fevereiro" : $mesNascimento = "02"; break;
                                 case "Março" : $mesNascimento = "03"; break;
                                 case "Abril" : $mesNascimento = "04"; break;
                                 case "Maio" : $mesNascimento = "05"; break;
                                 case "Junho" : $mesNascimento = "06"; break;
                                 case "Julho" : $mesNascimento = "07"; break;
                                 case "Agosto" : $mesNascimento = "08"; break;
                                 case "Setembro" : $mesNascimento = "09"; break;
                                 case "Outubro" : $mesNascimento = "10"; break;
                                 case "Novembro" : $mesNascimento = "11"; break;
                                 case "Dezembro" : $mesNascimento = "12"; break;
                                }
O mês <?php echo $mesNascimento; ?> corresponde ao mês 07. Só que a variável $mesNascimento volta nulo. Porém se eu fizer dessa forma (forçando):
$mes = "Julho"; 
                            switch($mes){
                                 case "Janeiro" : $mesNascimento = "01"; break;
                                 case "Fevereiro" : $mesNascimento = "02"; break;
                                 case "Março" : $mesNascimento = "03"; break;
                                 case "Abril" : $mesNascimento = "04"; break;
                                 case "Maio" : $mesNascimento = "05"; break;
                                 case "Junho" : $mesNascimento = "06"; break;
                                 case "Julho" : $mesNascimento = "07"; break;
                                 case "Agosto" : $mesNascimento = "08"; break;
                                 case "Setembro" : $mesNascimento = "09"; break;
                                 case "Outubro" : $mesNascimento = "10"; break;
                                 case "Novembro" : $mesNascimento = "11"; break;
                                 case "Dezembro" : $mesNascimento = "12"; break;
                                }

Ele retorna corretamente.... Alguém sabe o porque isso acontece e uma solução? pois sinceramente não sabia que o switch não lia arrrays.

Obrigado.

Editado por MTavares
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Ao converter sua string em um array. você está jogando espaços em branco nos valores do array.

Remova os espaços em branco que vai dar certo.

$date = '14 de Julho de 2012';

$date = preg_replace('/\s+/', '', $date); //Remove todos os espaços contidos na string

$dataNascimento = explode('de', $date);

switch($dataNascimento[1]) {
    case "Janeiro" :
        $mesNascimento = "01";
        break;
    case "Fevereiro" :
        $mesNascimento = "02";
        break;
    case "Março" :
        $mesNascimento = "03";
        break;
    case "Abril" :
        $mesNascimento = "04";
        break;
    case "Maio" :
        $mesNascimento = "05";
        break;
    case "Junho" :
        $mesNascimento = "06";
        break;
    case "Julho" :
        $mesNascimento = "07";
        break;
    case "Agosto" :
        $mesNascimento = "08";
        break;
    case "Setembro" :
        $mesNascimento = "09";
        break;
    case "Outubro" :
        $mesNascimento = "10";
        break;
    case "Novembro" :
        $mesNascimento = "11";
        break;
    case "Dezembro" :
        $mesNascimento = "12";
        break;
}

echo $mesNascimento;
//Irá imprimir 07

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...