MTavares Posted June 26, 2012 Report Share Posted June 26, 2012 (edited) 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. Edited June 26, 2012 by MTavares Quote Link to comment Share on other sites More sharing options...
0 Willian Gustavo Veiga Posted June 27, 2012 Report Share Posted June 27, 2012 E qual o retorno de <?php print_r($dataNascimento); ?> ?Um abraço. Quote Link to comment Share on other sites More sharing options...
0 MTavares Posted June 27, 2012 Author Report Share Posted June 27, 2012 Olá Willian.O retorno é:Array ( [0] => 14 [1] => Julho [2] => 2012 )Abraços Quote Link to comment Share on other sites More sharing options...
0 Romero Dias Posted June 27, 2012 Report Share Posted June 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 Quote Link to comment Share on other sites More sharing options...
0 MTavares Posted June 27, 2012 Author Report Share Posted June 27, 2012 Olá Romero Dias.Perfeito.... funcionou....muito obrigado....Abraços! Quote Link to comment Share on other sites More sharing options...
Question
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.
Edited by MTavaresLink to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.