MTavares Postado Junho 26, 2012 Denunciar Share Postado Junho 26, 2012 (editado) Olá colegas.Eu tenho a seguinte data no banco:14 de Julho de 2012Trago 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 Junho 26, 2012 por MTavares Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Willian Gustavo Veiga Postado Junho 27, 2012 Denunciar Share Postado Junho 27, 2012 E qual o retorno de <?php print_r($dataNascimento); ?> ?Um abraço. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MTavares Postado Junho 27, 2012 Autor Denunciar Share Postado Junho 27, 2012 Olá Willian.O retorno é:Array ( [0] => 14 [1] => Julho [2] => 2012 )Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Romero Dias Postado Junho 27, 2012 Denunciar Share Postado Junho 27, 2012 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MTavares Postado Junho 27, 2012 Autor Denunciar Share Postado Junho 27, 2012 Olá Romero Dias.Perfeito.... funcionou....muito obrigado....Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
MTavares
Olá colegas.
Eu tenho a seguinte data no banco:
14 de Julho de 2012
Trago a data do banco para o site:
Agora quero fazer a comparação do mês do banco (Julho) com o mês do site (07): 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):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 MTavaresLink para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
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.